bootmanager: Encapsulate all QCamera code
This commit is contained in:
		| @@ -820,6 +820,7 @@ void GRenderWindow::RequestCameraCapture() { | ||||
| } | ||||
|  | ||||
| void GRenderWindow::OnCameraCapture(int requestId, const QImage& img) { | ||||
| #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) && YUZU_USE_QT_MULTIMEDIA | ||||
|     // TODO: Capture directly in the format and resolution needed | ||||
|     const auto converted = | ||||
|         img.scaled(CAMERA_WIDTH, CAMERA_HEIGHT, Qt::AspectRatioMode::IgnoreAspectRatio, | ||||
| @@ -828,6 +829,7 @@ void GRenderWindow::OnCameraCapture(int requestId, const QImage& img) { | ||||
|     std::memcpy(camera_data.data(), converted.bits(), CAMERA_WIDTH * CAMERA_HEIGHT * sizeof(u32)); | ||||
|     input_subsystem->GetCamera()->SetCameraData(CAMERA_WIDTH, CAMERA_HEIGHT, camera_data); | ||||
|     pending_camera_snapshots = 0; | ||||
| #endif | ||||
| } | ||||
|  | ||||
| bool GRenderWindow::event(QEvent* event) { | ||||
|   | ||||
| @@ -242,16 +242,16 @@ private: | ||||
|     bool first_frame = false; | ||||
|     InputCommon::TasInput::TasState last_tas_state; | ||||
|  | ||||
|     bool is_virtual_camera; | ||||
|     int pending_camera_snapshots; | ||||
| #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) && YUZU_USE_QT_MULTIMEDIA | ||||
|     std::unique_ptr<QCamera> camera; | ||||
|     std::unique_ptr<QCameraImageCapture> camera_capture; | ||||
|     static constexpr std::size_t CAMERA_WIDTH = 320; | ||||
|     static constexpr std::size_t CAMERA_HEIGHT = 240; | ||||
|     bool is_virtual_camera; | ||||
|     int pending_camera_snapshots; | ||||
|     std::vector<u32> camera_data; | ||||
| #endif | ||||
|     std::unique_ptr<QCamera> camera; | ||||
|     std::unique_ptr<QCameraImageCapture> camera_capture; | ||||
|     std::unique_ptr<QTimer> camera_timer; | ||||
| #endif | ||||
|  | ||||
|     Core::System& system; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user