Loading...
Searching...
No Matches
CameraDevice.hpp
1#pragma once
2#include <Device/Protocol/DeviceInterface.hpp>
3#include <Device/Protocol/DeviceSettings.hpp>
4#include <Device/Protocol/ProtocolFactoryInterface.hpp>
5#include <Device/Protocol/ProtocolSettingsWidget.hpp>
6
7#include <Gfx/CameraSettings.hpp>
8#include <Gfx/GfxInputDevice.hpp>
9
10#include <score_plugin_gfx_export.h>
11
12#include <utility>
13#include <vector>
14
15class QComboBox;
16class QLineEdit;
17
18namespace Gfx
19{
22SCORE_PLUGIN_GFX_TEST_EXPORT bool cameraShowAllFramerates() noexcept;
23
26SCORE_PLUGIN_GFX_TEST_EXPORT void
27keepHighestFramerates(std::vector<std::pair<CameraSettings, QString>>& modes);
28
29SCORE_PLUGIN_GFX_TEST_EXPORT CameraSettings
30findBestCameraMode(const std::vector<CameraSettings>& candidates);
31
32class CameraProtocolFactory final : public Device::ProtocolFactory
33{
34 SCORE_CONCRETE("d615690b-f2e2-447b-b70e-a800552db69c")
35 QString prettyName() const noexcept override;
36 QString category() const noexcept override;
37 QUrl manual() const noexcept override;
38 Device::DeviceEnumerators
39 getEnumerators(const score::DocumentContext& ctx) const override;
40
41 Device::DeviceInterface* makeDevice(
42 const Device::DeviceSettings& settings,
43 const Explorer::DeviceDocumentPlugin& plugin,
44 const score::DocumentContext& ctx) override;
45 const Device::DeviceSettings& defaultSettings() const noexcept override;
46 Device::AddressDialog* makeAddAddressDialog(
48 QWidget* parent) override;
49 Device::AddressDialog* makeEditAddressDialog(
51 const score::DocumentContext& ctx, QWidget*) override;
52
53 Device::ProtocolSettingsWidget* makeSettingsWidget() override;
54
55 QVariant makeProtocolSpecificSettings(const VisitorVariant& visitor) const override;
56
57 void serializeProtocolSpecificSettings(
58 const QVariant& data, const VisitorVariant& visitor) const override;
59
60 bool checkCompatibility(
62 const Device::DeviceSettings& b) const noexcept override;
63};
64}
65
66SCORE_SERIALIZE_DATASTREAM_DECLARE(, Gfx::CameraSettings);
67Q_DECLARE_METATYPE(Gfx::CameraSettings)
68W_REGISTER_ARGTYPE(Gfx::CameraSettings)
Definition ProtocolSettingsWidget.hpp:53
Definition DeviceInterface.hpp:107
Definition ProtocolSettingsWidget.hpp:29
Definition CameraDevice.hpp:33
Manipulation of Devices from Qt.
Definition AddressSettings.cpp:14
Binds the rendering pipeline to ossia processes.
Definition AssetTable.cpp:7
STL namespace.
Definition AddressSettings.hpp:49
Definition DeviceSettings.hpp:20
Definition CameraSettings.hpp:8
The VisitorVariant struct.
Definition VisitorInterface.hpp:26
Definition DocumentContext.hpp:18