2#if defined(SCORE_HAS_GPU_JS)
3#include <Execution/DocumentPlugin.hpp>
4#include <Gfx/GfxContext.hpp>
5#include <Gfx/TexturePort.hpp>
8#include <QQuickRhiItem>
9#include <QSGSimpleTextureNode>
13#include <private/qrhi_p.h>
32class TextureSource :
public QQuickRhiItem
34 W_OBJECT(TextureSource)
38 explicit TextureSource(QQuickItem* parent =
nullptr);
42 INLINE_PROPERTY_CREF(QString, process, =
"", process, setProcess, processChanged)
43 INLINE_PROPERTY_CREF(QVariant, port, =
"", port, setPort, portChanged)
45 QQuickRhiItemRenderer* createRenderer()
override;
48 void geometryChange(
const QRectF& newGeometry,
const QRectF& oldGeometry)
override;
49 void componentComplete()
override;
50 void releaseResources()
override;
52 void handleWindowChanged(QQuickWindow* window);
56 friend class TextureSourceRenderer;
59 bool connectToOutlet();
60 void disconnectFromOutlet();
61 QRhiTexture* extractTextureFromNode();
63 QPointer<Gfx::TextureOutlet> m_outlet{};
64 QPointer<Gfx::DocumentPlugin> m_gfxPlugin{};
65 QPointer<Execution::DocumentPlugin> m_execPlugin{};
66 QPointer<Process::ProcessModel> m_processPtr;
69 bool m_isConnected =
false;
70 bool m_needsRebuild =
false;
TreeNode< DeviceExplorerNode > Node
Definition DeviceNode.hpp:74
Binds the rendering pipeline to ossia processes.
Definition CameraDevice.cpp:24
Graphics rendering pipeline for ossia score.
Definition Filter/PreviewWidget.hpp:12