diff options
author | german77 <juangerman-13@hotmail.com> | 2022-06-18 23:34:28 -0500 |
---|---|---|
committer | german77 <juangerman-13@hotmail.com> | 2022-07-23 19:40:21 -0500 |
commit | cc83e0a6006667d126a7a83dde23a7f8ae3af994 (patch) | |
tree | c4adfe7019e6f54050f8341e929c3db417d491f6 /src/yuzu/configuration/configure_camera.h | |
parent | f19e7be6e84357234c9fdae3395f988a9bb1ac5b (diff) |
yuzu: Hook qt camera to camera driver
Diffstat (limited to 'src/yuzu/configuration/configure_camera.h')
-rw-r--r-- | src/yuzu/configuration/configure_camera.h | 52 |
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; +}; |