Loading...
Searching...
No Matches
PreviewNode.hpp
1#pragma once
2
3#include <Gfx/Graph/OutputNode.hpp>
4#include <Gfx/SharedOutputSettings.hpp>
5
6namespace score::gfx
7{
8
13SCORE_PLUGIN_GFX_EXPORT bool previewFirstRowIsPictureBottom(QRhi& rhi) noexcept;
14
15class SCORE_PLUGIN_GFX_EXPORT PreviewNode : public score::gfx::OutputNode
16{
17public:
18 explicit PreviewNode(
19 Gfx::SharedOutputSettings s, QRhi* rhi, QRhiRenderTarget* tgt, QRhiTexture* tex);
20 virtual ~PreviewNode();
21
22 void startRendering() override;
23 void onRendererChange() override;
24 void render() override;
25 bool canRender() const override;
26 void stopRendering() override;
27
28 void setRenderer(std::shared_ptr<score::gfx::RenderList> r) override;
29 score::gfx::RenderList* renderer() const override;
30
31 void createOutput(score::gfx::OutputConfiguration) override;
32 void destroyOutput() override;
33
34 std::shared_ptr<score::gfx::RenderState> renderState() const override;
36 createRenderer(score::gfx::RenderList& r) const noexcept override;
37 Configuration configuration() const noexcept override;
38
39 QRhiTexture* texture() const noexcept { return m_texture; }
40
41private:
43 QRhi* m_rhi{};
44
45 std::weak_ptr<score::gfx::RenderList> m_renderer{};
46 QRhiRenderTarget* m_renderTarget{};
47 QRhiTexture* m_texture{};
48 std::shared_ptr<score::gfx::RenderState> m_renderState{};
49};
50}
Base class for sink nodes (QWindow, spout, syphon, NDI output, ...)
Definition OutputNode.hpp:55
Definition OutputNode.hpp:37
Definition PreviewNode.hpp:16
List of nodes to be rendered to an output.
Definition RenderList.hpp:33
Graphics rendering pipeline for ossia score.
Definition Filter/PreviewWidget.hpp:11
bool previewFirstRowIsPictureBottom(QRhi &rhi) noexcept
Definition PreviewNode.cpp:275
Definition SharedOutputSettings.hpp:19
Definition OutputNode.hpp:16
Definition OutputNode.hpp:85