34 enum MatrixTransformFlag
36 MatrixTransformFlipY = 0x01
38 Q_DECLARE_FLAGS(MatrixTransformFlags, MatrixTransformFlag)
39 Q_FLAG(MatrixTransformFlags)
41 ~QSGAbstractRenderer() override;
43 void setRootNode(QSGRootNode *node);
44 QSGRootNode *rootNode()
const;
45 void setDeviceRect(
const QRect &rect);
46 inline void setDeviceRect(
const QSize &size) { setDeviceRect(QRect(QPoint(), size)); }
47 QRect deviceRect()
const;
49 void setViewportRect(
const QRect &rect);
50 inline void setViewportRect(
const QSize &size) { setViewportRect(QRect(QPoint(), size)); }
51 QRect viewportRect()
const;
53 void setProjectionMatrixToRect(
const QRectF &rect);
54 void setProjectionMatrixToRect(
const QRectF &rect, MatrixTransformFlags flags);
55 void setProjectionMatrixToRect(
const QRectF &rect, MatrixTransformFlags flags,
57 void setProjectionMatrix(
const QMatrix4x4 &matrix,
int index = 0);
58 void setProjectionMatrixWithNativeNDC(
const QMatrix4x4 &matrix,
int index = 0);
59 QMatrix4x4 projectionMatrix(
int index)
const;
60 QMatrix4x4 projectionMatrixWithNativeNDC(
int index)
const;
61 int projectionMatrixCount()
const;
62 int projectionMatrixWithNativeNDCCount()
const;
63 void setInvertFrontFace(
bool invert);
64 bool invertFrontFace()
const;
66 void setClearColor(
const QColor &color);
67 QColor clearColor()
const;
69 virtual void renderScene() = 0;
71 virtual void prepareSceneInline();
72 virtual void renderSceneInline();
75 void sceneGraphChanged();
78 explicit QSGAbstractRenderer(QObject *parent =
nullptr);
79 virtual void nodeChanged(QSGNode *node, QSGNode::DirtyState state) = 0;
82 Q_DECLARE_PRIVATE(QSGAbstractRenderer)
83 friend class QSGRootNode;