18 void startRendering()
override;
19 void render()
override;
20 void onRendererChange()
override;
21 bool canRender()
const override;
22 void stopRendering()
override;
24 void setRenderer(std::shared_ptr<RenderList> r)
override;
27 void setScreen(QScreen*);
28 void setPosition(QPoint pos);
29 void setSize(QSize sz);
30 void setRenderSize(QSize sz);
31 void setFullScreen(
bool);
33 void setTitle(QString);
35 void setSwapchainFlag(Gfx::SwapchainFlag flag);
36 void setSwapchainFormat(Gfx::SwapchainFormat format);
39 void destroyOutput()
override;
41 void setVSyncCallback(std::function<
void()>)
override;
43 std::shared_ptr<RenderState> renderState()
const override;
46 bool deviceLost()
const noexcept override;
48 const std::shared_ptr<Window>& window()
const noexcept {
return m_window; }
54 void requestReadback()
const noexcept { m_readbackRequested.store(
true); }
55 bool takeReadbackRequest()
const noexcept
57 return m_readbackRequested.exchange(
false);
59 const std::shared_ptr<QRhiReadbackResult>& readback()
const noexcept
64 std::function<void(QPointF)> onWindowMove;
65 std::function<void(QPointF, QPointF)> onMouseMove;
66 std::function<void(QTabletEvent*)> onTabletMove;
69 std::function<void(
int,
const QString&)> onKey;
70 std::function<void(
int,
const QString&)> onKeyRelease;
71 std::function<void(
float)> onFps;
79 mutable std::atomic_bool m_readbackRequested{
false};
80 std::shared_ptr<QRhiReadbackResult> m_readback
81 = std::make_shared<QRhiReadbackResult>();
82 std::shared_ptr<Window> m_window{};
83 QRhiSwapChain* m_swapChain{};
84 QRhiRenderBuffer* m_depthStencil{};
87 std::optional<QPoint> m_pos{};
88 std::optional<QSize> m_sz{};
89 std::optional<QSize> m_renderSz{};
90 std::function<void()> m_vsyncCallback;
92 Gfx::SwapchainFlag m_swapchainFlag{};
93 Gfx::SwapchainFormat m_swapchainFormat{};
Base class for sink nodes (QWindow, spout, syphon, NDI output, ...)
Definition OutputNode.hpp:56
void setCursor(Qt::CursorShape c)
setCursor sets the cursor safely.
Definition ClearLayout.cpp:8