configure_camera.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // Text : Copyright 2022 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-3.0-or-later
  3. #pragma once
  4. #include <memory>
  5. #include <QDialog>
  6. class QTimer;
  7. class QCamera;
  8. class QCameraImageCapture;
  9. namespace InputCommon {
  10. class InputSubsystem;
  11. } // namespace InputCommon
  12. namespace Ui {
  13. class ConfigureCamera;
  14. }
  15. class ConfigureCamera : public QDialog {
  16. Q_OBJECT
  17. public:
  18. explicit ConfigureCamera(QWidget* parent, InputCommon::InputSubsystem* input_subsystem_);
  19. ~ConfigureCamera() override;
  20. void ApplyConfiguration();
  21. private:
  22. void changeEvent(QEvent* event) override;
  23. void RetranslateUI();
  24. /// Load configuration settings.
  25. void LoadConfiguration();
  26. /// Restore all buttons to their default values.
  27. void RestoreDefaults();
  28. void DisplayCapturedFrame(int requestId, const QImage& img);
  29. /// Loads and signals the current selected camera to display a frame
  30. void PreviewCamera();
  31. InputCommon::InputSubsystem* input_subsystem;
  32. bool is_virtual_camera;
  33. int pending_snapshots;
  34. std::unique_ptr<QCamera> camera;
  35. std::unique_ptr<QCameraImageCapture> camera_capture;
  36. std::unique_ptr<QTimer> camera_timer;
  37. std::vector<std::string> input_devices;
  38. std::unique_ptr<Ui::ConfigureCamera> ui;
  39. };