27 RenderTargetState = 0x80
29 Q_DECLARE_FLAGS(StateFlags, StateFlag)
32 BoundedRectRendering = 0x01,
33 DepthAwareRendering = 0x02,
34 OpaqueRendering = 0x04,
35 NoExternalRendering = 0x08
37 Q_DECLARE_FLAGS(RenderingFlags, RenderingFlag)
39 struct Q_QUICK_EXPORT RenderState {
40 virtual ~RenderState();
41 virtual const QMatrix4x4 *projectionMatrix()
const = 0;
42 virtual QRect scissorRect()
const = 0;
43 virtual bool scissorEnabled()
const = 0;
44 virtual int stencilValue()
const = 0;
45 virtual bool stencilEnabled()
const = 0;
46 virtual const QRegion *clipRegion()
const = 0;
47 virtual void *get(
const char *state)
const;
51 ~QSGRenderNode() override;
53 virtual StateFlags changedStates()
const;
54 virtual void prepare();
55 virtual void render(
const RenderState *state) = 0;
56 virtual void releaseResources();
57 virtual RenderingFlags flags()
const;
58 virtual QRectF rect()
const;
60 const QMatrix4x4 *projectionMatrix()
const;
61 const QMatrix4x4 *projectionMatrix(qsizetype index)
const;
62 const QMatrix4x4 *matrix()
const;
63 const QSGClipNode *clipList()
const;
64 qreal inheritedOpacity()
const;
65 QRhiRenderTarget *renderTarget()
const;
66 QRhiCommandBuffer *commandBuffer()
const;
69 QSGRenderNodePrivate *d;
70 friend class QSGRenderNodePrivate;