summaryrefslogtreecommitdiffstats
path: root/src/yuzu/configuration/configure_camera.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/yuzu/configuration/configure_camera.h')
-rw-r--r--src/yuzu/configuration/configure_camera.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/yuzu/configuration/configure_camera.h b/src/yuzu/configuration/configure_camera.h
new file mode 100644
index 000000000..af7551c03
--- /dev/null
+++ b/src/yuzu/configuration/configure_camera.h
@@ -0,0 +1,52 @@
+// Text : Copyright 2022 yuzu Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
+
+#include <memory>
+#include <QDialog>
+
+class QTimer;
+class QCamera;
+class QCameraImageCapture;
+
+namespace InputCommon {
+class InputSubsystem;
+} // namespace InputCommon
+
+namespace Ui {
+class ConfigureCamera;
+}
+
+class ConfigureCamera : public QDialog {
+ Q_OBJECT
+
+public:
+ explicit ConfigureCamera(QWidget* parent, InputCommon::InputSubsystem* input_subsystem_);
+ ~ConfigureCamera() override;
+
+ void ApplyConfiguration();
+
+private:
+ void changeEvent(QEvent* event) override;
+ void RetranslateUI();
+
+ /// Load configuration settings.
+ void LoadConfiguration();
+
+ /// Restore all buttons to their default values.
+ void RestoreDefaults();
+
+ void DisplayCapturedFrame(int requestId, const QImage& img);
+
+ /// Loads and signals the current selected camera to display a frame
+ void PreviewCamera();
+
+ InputCommon::InputSubsystem* input_subsystem;
+
+ std::unique_ptr<QCamera> camera;
+ std::unique_ptr<QCameraImageCapture> camera_capture;
+ std::unique_ptr<QTimer> camera_timer;
+ std::vector<std::string> input_devices;
+ std::unique_ptr<Ui::ConfigureCamera> ui;
+};