summaryrefslogtreecommitdiff
path: root/src/yuzu/configuration/configure_camera.h
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2022-07-24 13:31:28 -0400
committerGitHub <noreply@github.com>2022-07-24 13:31:28 -0400
commit5af06d14337a61d9ed1093079d13f68cbb1f5451 (patch)
tree88df3fada076b04c2ab2da8972d1d785f492b520 /src/yuzu/configuration/configure_camera.h
parent97729fd8e9c2f8cabc626ab03a666c9428e01c5e (diff)
parent403bdc4dafe89a463f3d93b9a389a1010ca5ff16 (diff)
Merge pull request #8484 from german77/irs_release
service: irs: Add camera support, split processors and implement ImageTransferProcessor
Diffstat (limited to 'src/yuzu/configuration/configure_camera.h')
-rw-r--r--src/yuzu/configuration/configure_camera.h54
1 files changed, 54 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..db9833b5c
--- /dev/null
+++ b/src/yuzu/configuration/configure_camera.h
@@ -0,0 +1,54 @@
+// 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;
+
+ bool is_virtual_camera;
+ int pending_snapshots;
+ 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;
+};