VisibilityItemWidget.hpp 665 B

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #include <obs.hpp>
  3. #include <QListWidget>
  4. #include <QWidget>
  5. class OBSSourceLabel;
  6. class QCheckBox;
  7. class VisibilityItemWidget : public QWidget {
  8. Q_OBJECT
  9. private:
  10. OBSSource source;
  11. OBSSourceLabel *label = nullptr;
  12. QCheckBox *vis = nullptr;
  13. OBSSignal enabledSignal;
  14. bool active = false;
  15. bool selected = false;
  16. static void OBSSourceEnabled(void *param, calldata_t *data);
  17. private slots:
  18. void SourceEnabled(bool enabled);
  19. public:
  20. VisibilityItemWidget(obs_source_t *source);
  21. void SetColor(const QColor &color, bool active, bool selected);
  22. };
  23. void SetupVisibilityItem(QListWidget *list, QListWidgetItem *item, obs_source_t *source);