4#include <QtQuick3D/qquick3dobject.h>
5#include <QtQuick3D/private/qquick3ditem2d_p.h>
7#include <QtQuick/private/qquickitem_p.h>
8#include <QtQuick/private/qsgrenderer_p.h>
9#include <QtQuick/private/qquickwindow_p.h>
11#include <QtQuick3DRuntimeRender/private/qssgrenderitem2d_p.h>
14#include <QtGui/rhi/qrhi.h>
60 item->setParent(m_contentItem);
65 m_sourceItems.append(
item);
70 m_sourceItems.removeOne(
item);
73 if (m_sourceItems.isEmpty())
89void QQuick3DItem2D::invalidated()
98void QQuick3DItem2D::updatePicking()
100 m_pickingDirty =
true;
124 m_rootNode = sourceItemPrivate->rootNode();
144 if (itemNode->m_rp) {
146 itemNode->m_rp =
nullptr;
163 if (m_pickingDirty) {
164 m_pickingDirty =
false;
165 bool isPickable =
false;
166 for (
auto item : m_sourceItems) {
176 itemNode->m_renderer = m_renderer;
195 sourcePrivate->derefWindow();
198 sourcePrivate->refWindow(
window);
200 sourcePrivate->refFromEffectItem(
true);
209 itemPriv->window =
nullptr;
210 itemPriv->windowRefCount = 0;
212 itemPriv->prevDirtyItem =
nullptr;
213 itemPriv->nextDirtyItem =
nullptr;
216 for (
auto *
child: itemPriv->childItems)
bool isEnabled() const
Returns true if the item is enabled; otherwise, false is returned.
void setParentItem(QGraphicsItem *parent)
Sets this item's parent item to newParent.
bool isVisible() const
Returns true if the item is visible; otherwise, false is returned.
static void setObjectOwnership(QObject *, ObjectOwnership)
Sets the ownership of object.
static QObjectPrivate * get(QObject *o)
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
Q_WEAK_OVERLOAD void setObjectName(const QString &name)
Sets the object's name to name.
void destroyed(QObject *=nullptr)
This signal is emitted immediately before the object obj is destroyed, after any instances of QPointe...
void deleteLater()
\threadsafe
QQuickItem * contentItem() const
void itemDestroyed(QQuickItem *item) override
void markAllDirty() override
void removeChildItem(QQuickItem *item)
void allChildrenRemoved()
void addChildItem(QQuickItem *item)
~QQuick3DItem2D() override
QQuick3DItem2D(QQuickItem *item, QQuick3DNode *parent=nullptr)
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
void markAllDirty() override
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
static QQuick3DObjectPrivate * get(QQuick3DObject *item)
static QQuickItemPrivate * get(QQuickItem *item)
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
QQuickWindow * window() const
Returns the window in which this item is rendered.
\qmltype Window \instantiates QQuickWindow \inqmlmodule QtQuick
void sceneGraphInvalidated()
\qmlsignal QtQuick::Window::sceneGraphInitialized()
void deleteLater()
When called without a frame being recorded, this function is equivalent to deleting the object.
void sceneGraphChanged()
This signal is emitted on the first modification of a node in the tree after the last scene render.
void setRootNode(QSGRootNode *node)
Sets the node as the root of the QSGNode scene that you want to render.
void markDirty(DirtyState bits)
Notifies all connected renderers that the node has dirty bits.
virtual QSGRenderer * createRenderer(QSGRendererInterface::RenderMode renderMode=QSGRendererInterface::RenderMode2D)=0
void nodeChanged(QSGNode *node, QSGNode::DirtyState state) override
Updates internal data structures and emits the sceneGraphChanged() signal.
Exception-safe wrapper around QObject::blockSignals().
Combined button and popup list for selecting options.
static void detachWindow(QQuickItem *item, QObject *win)
QLatin1StringView QLatin1String
myObject disconnect()
[26]
QNetworkAccessManager manager
QRhiRenderPassDescriptor * m_rp