Loading...
Searching...
No Matches
WindowDevice.hpp
1#pragma once
2#include <Gfx/GfxDevice.hpp>
3#include <Gfx/Window/WindowSettings.hpp>
4
5#include <QGraphicsRectItem>
6#include <QGraphicsScene>
7#include <QGraphicsView>
8#include <QRectF>
9
10class QComboBox;
11class QCheckBox;
12class QDoubleSpinBox;
13class QGraphicsEllipseItem;
14class QGraphicsLineItem;
15class QGraphicsPolygonItem;
16class QLabel;
17class QStackedWidget;
18class QSpinBox;
19class QGraphicsView;
20
21namespace score::gfx
22{
23class Window;
24}
25namespace Gfx
26{
27class OutputMappingCanvas;
28class OutputPreviewWindows;
29
31{
32 SCORE_CONCRETE("5a181207-7d40-4ad8-814e-879fcdf8cc31")
33 QString prettyName() const noexcept override;
34 QString category() const noexcept override;
35 QUrl manual() const noexcept override;
36
37 Device::DeviceInterface* makeDevice(
38 const Device::DeviceSettings& settings,
39 const Explorer::DeviceDocumentPlugin& plugin,
40 const score::DocumentContext& ctx) override;
41 const Device::DeviceSettings& defaultSettings() const noexcept override;
42 Device::AddressDialog* makeAddAddressDialog(
44 QWidget* parent) override;
45 Device::AddressDialog* makeEditAddressDialog(
47 const score::DocumentContext& ctx, QWidget*) override;
48
49 Device::ProtocolSettingsWidget* makeSettingsWidget() override;
50
51 QVariant makeProtocolSpecificSettings(const VisitorVariant& visitor) const override;
52
53 void serializeProtocolSpecificSettings(
54 const QVariant& data, const VisitorVariant& visitor) const override;
55
56 bool checkCompatibility(
58 const Device::DeviceSettings& b) const noexcept override;
59};
60
61class SCORE_PLUGIN_GFX_EXPORT WindowDevice final : public GfxOutputDevice
62{
63 W_OBJECT(WindowDevice)
64public:
65 using GfxOutputDevice::GfxOutputDevice;
67
68 score::gfx::Window* window() const noexcept;
69 W_SLOT(window)
70
71 void addAddress(const Device::FullAddressSettings& settings) override;
72 void setupContextMenu(QMenu&) const override;
73 ossia::net::device_base* getDevice() const override { return m_dev.get(); }
74 void disconnect() override;
75 bool reconnect() override;
76
77private:
78 gfx_protocol_base* m_protocol{};
79 mutable std::unique_ptr<ossia::net::device_base> m_dev;
80};
81
83{
84 WindowMode mode{WindowMode::Single};
85 std::vector<OutputMapping> outputs;
86 int inputWidth{1920};
87 int inputHeight{1080};
88};
89
90}
Definition ProtocolSettingsWidget.hpp:41
Definition DeviceInterface.hpp:66
Definition ProtocolFactoryInterface.hpp:49
Definition ProtocolSettingsWidget.hpp:22
Definition GfxDevice.hpp:36
Definition WindowDevice.hpp:62
Definition WindowDevice.hpp:31
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:24
Binds the rendering pipeline to ossia processes.
Definition CameraDevice.cpp:30
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:83
The VisitorVariant struct.
Definition VisitorInterface.hpp:26
Definition DocumentContext.hpp:18