qt-display.hpp 792 B

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include <QWidget>
  3. #include <obs.hpp>
  4. #define GREY_COLOR_BACKGROUND 0xFF4C4C4C
  5. class OBSQTDisplay : public QWidget {
  6. Q_OBJECT
  7. Q_PROPERTY(QColor displayBackgroundColor MEMBER backgroundColor
  8. WRITE SetDisplayBackgroundColor)
  9. OBSDisplay display;
  10. void CreateDisplay();
  11. void resizeEvent(QResizeEvent *event) override;
  12. void paintEvent(QPaintEvent *event) override;
  13. signals:
  14. void DisplayCreated(OBSQTDisplay *window);
  15. void DisplayResized();
  16. public:
  17. OBSQTDisplay(QWidget *parent = nullptr,
  18. Qt::WindowFlags flags = nullptr);
  19. virtual QPaintEngine *paintEngine() const override;
  20. inline obs_display_t *GetDisplay() const {return display;}
  21. uint32_t backgroundColor = GREY_COLOR_BACKGROUND;
  22. private slots:
  23. void SetDisplayBackgroundColor(const QColor &color);
  24. };