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