Loading...
Searching...
No Matches
WindowDevice.hpp
1#pragma once
2#include <Gfx/GfxDevice.hpp>
3namespace score::gfx
4{
5class Window;
6}
7namespace Gfx
8{
9
11{
12 int width{};
13 int height{};
14 double rate{};
15 bool viewportSize{};
16 bool vsync{};
17};
18
20{
21 SCORE_CONCRETE("5a181207-7d40-4ad8-814e-879fcdf8cc31")
22 QString prettyName() const noexcept override;
23 QString category() const noexcept override;
24 QUrl manual() const noexcept override;
25
26 Device::DeviceInterface* makeDevice(
27 const Device::DeviceSettings& settings,
28 const Explorer::DeviceDocumentPlugin& plugin,
29 const score::DocumentContext& ctx) override;
30 const Device::DeviceSettings& defaultSettings() const noexcept override;
31 Device::AddressDialog* makeAddAddressDialog(
33 QWidget* parent) override;
34 Device::AddressDialog* makeEditAddressDialog(
36 const score::DocumentContext& ctx, QWidget*) override;
37
38 Device::ProtocolSettingsWidget* makeSettingsWidget() override;
39
40 QVariant makeProtocolSpecificSettings(const VisitorVariant& visitor) const override;
41
42 void serializeProtocolSpecificSettings(
43 const QVariant& data, const VisitorVariant& visitor) const override;
44
45 bool checkCompatibility(
47 const Device::DeviceSettings& b) const noexcept override;
48};
49
50class WindowDevice final : public GfxOutputDevice
51{
52 W_OBJECT(WindowDevice)
53public:
54 using GfxOutputDevice::GfxOutputDevice;
56
57 score::gfx::Window* window() const noexcept;
58 W_SLOT(window)
59
60private:
61 void addAddress(const Device::FullAddressSettings& settings) override;
62 void setupContextMenu(QMenu&) const override;
63 ossia::net::device_base* getDevice() const override { return m_dev.get(); }
64 void disconnect() override;
65 bool reconnect() override;
66
67 gfx_protocol_base* m_protocol{};
68 mutable std::unique_ptr<ossia::net::device_base> m_dev;
69};
70
72{
73public:
74 WindowSettingsWidget(QWidget* parent = nullptr);
75
76 Device::DeviceSettings getSettings() const override;
77
78 void setSettings(const Device::DeviceSettings& settings) override;
79
80private:
81 QLineEdit* m_deviceNameEdit{};
82};
83
84}
Definition ProtocolSettingsWidget.hpp:41
Definition DeviceInterface.hpp:66
Definition ProtocolFactoryInterface.hpp:49
Definition ProtocolSettingsWidget.hpp:22
Definition GfxDevice.hpp:36
Definition WindowDevice.hpp:51
Definition WindowDevice.hpp:20
Definition WindowDevice.hpp:72
Definition GfxParameter.hpp:41
A platform window in which the content is going to be rendered.
Definition plugins/score-plugin-gfx/Gfx/Graph/Window.hpp:21
Binds the rendering pipeline to ossia processes.
Definition CameraDevice.cpp:24
Graphics rendering pipeline for ossia score.
Definition Filter/PreviewWidget.hpp:12
Definition AddressSettings.hpp:49
Definition DeviceSettings.hpp:20
Definition AddressSettings.hpp:62
Definition WindowDevice.hpp:11
The VisitorVariant struct.
Definition VisitorInterface.hpp:26
Definition DocumentContext.hpp:18