58 Q_PROPERTY(
int explicitTextureWidth READ explicitTextureWidth WRITE setExplicitTextureWidth NOTIFY explicitTextureWidthChanged FINAL REVISION(6, 7))
59 Q_PROPERTY(
int explicitTextureHeight READ explicitTextureHeight WRITE setExplicitTextureHeight NOTIFY explicitTextureHeightChanged FINAL REVISION(6, 7))
60 Q_PROPERTY(
QSize effectiveTextureSize READ effectiveTextureSize NOTIFY effectiveTextureSizeChanged FINAL REVISION(6, 7))
77 QQmlListProperty<QObject>
data();
89 bool isTextureProvider() const override;
91 void releaseResources() override;
119 [[nodiscard]]
bool extensionListDirty()
const {
return m_extensionListDirty; }
120 [[nodiscard]]
const QList<QQuick3DObject *> &
extensionList()
const {
return m_extensions; }
126 void geometryChange(const
QRectF &newGeometry, const
QRectF &oldGeometry) override;
131 void componentComplete() override;
141 void cleanupDirectRenderer();
145 void setGlobalPickingEnabled(
bool isEnabled);
148 void invalidateSceneGraph();
149 void updateInputProcessing();
150 void onReleaseCachedResources();
153 void cameraChanged();
154 void environmentChanged();
156 void importSceneChanged();
157 void renderModeChanged();
171 struct SubsceneInfo {
173 QVarLengthArray<QPointF, 16> eventPointScenePositions;
176 void updateDynamicTextures();
179 void setupDirectRenderer(RenderMode
mode);
180 bool checkIsVisible()
const;
187 const QFlatMap<QQuickItem *, SubsceneInfo> &visitedSubscenes)
const;
193 QFlatMap<QQuickItem *, SubsceneInfo> &vistedSubscenes)
const;
195 QQuick3DPickResult getNearestPickResult(
const QVarLengthArray<QSSGRenderPickResult, 20> &pickResults)
const;
200 QVarLengthArray<QQuick3DCamera *, 2> m_multiViewCameras;
207 bool m_renderModeDirty =
false;
208 RenderMode m_renderMode = Offscreen;
210 int m_explicitTextureWidth = 0;
211 int m_explicitTextureHeight = 0;
212 QSize m_effectiveTextureSize;
213 float m_widthMultiplier = 1.0f;
214 float m_heightMultiplier = 1.0f;
216 bool m_enableInputProcessing =
false;
218 QList<QQuick3DObject *> m_extensions;
219 bool m_extensionListDirty =
false;
224 bool isPressed =
false;
227 QVarLengthArray<TouchState, 2> m_touchState{2};
The QSGTextureProvider class encapsulates texture based entities in QML.