1
0

qt-display.hpp 905 B

1234567891011121314151617181920212223242526272829303132333435363738
  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 READ
  8. GetDisplayBackgroundColor WRITE
  9. SetDisplayBackgroundColor)
  10. OBSDisplay display;
  11. void CreateDisplay();
  12. void resizeEvent(QResizeEvent *event) override;
  13. void paintEvent(QPaintEvent *event) override;
  14. signals:
  15. void DisplayCreated(OBSQTDisplay *window);
  16. void DisplayResized();
  17. public:
  18. OBSQTDisplay(QWidget *parent = nullptr,
  19. Qt::WindowFlags flags = nullptr);
  20. virtual QPaintEngine *paintEngine() const override;
  21. inline obs_display_t *GetDisplay() const { return display; }
  22. uint32_t backgroundColor = GREY_COLOR_BACKGROUND;
  23. QColor GetDisplayBackgroundColor() const;
  24. void SetDisplayBackgroundColor(const QColor &color);
  25. void UpdateDisplayBackgroundColor();
  26. };