![]() |
Qt 6.x
The Qt SDK
|
#include <qquickwindow_p.h>
Classes | |
struct | Redirect |
Public Types | |
enum | CustomEvents { FullUpdateRequest = QEvent::User + 1 , TriggerContextCreationFailure = QEvent::User + 2 } |
enum | TextureFromNativeTextureFlag { NativeTextureIsExternalOES = 0x01 } |
![]() | |
enum | PositionPolicy { WindowFrameInclusive , WindowFrameExclusive } |
enum | SiblingPosition { PositionTop , PositionBottom } |
![]() | |
typedef void(* | StaticMetaCallFunction) (QObject *, QMetaObject::Call, int, void **) |
using | ConnectionDataPointer = QExplicitlySharedDataPointer< ConnectionData > |
Static Public Member Functions | |
static QQuickWindowPrivate * | get (QQuickWindow *c) |
static const QQuickWindowPrivate * | get (const QQuickWindow *c) |
static bool | dragOverThreshold (qreal d, Qt::Axis axis, const QEventPoint *tp, int startDragThreshold=-1) |
static bool | dragOverThreshold (qreal d, Qt::Axis axis, QMouseEvent *event, int startDragThreshold=-1) |
static void | data_append (QQmlListProperty< QObject > *, QObject *) |
\qmlproperty list<QtObject> Window::data \qmldefault | |
static qsizetype | data_count (QQmlListProperty< QObject > *) |
static QObject * | data_at (QQmlListProperty< QObject > *, qsizetype) |
static void | data_clear (QQmlListProperty< QObject > *) |
static void | data_replace (QQmlListProperty< QObject > *, qsizetype, QObject *) |
static void | data_removeLast (QQmlListProperty< QObject > *) |
static void | rhiCreationFailureMessage (const QString &backendName, QString *translatedMessage, QString *untranslatedMessage) |
static void | emitBeforeRenderPassRecording (void *ud) |
static void | emitAfterRenderPassRecording (void *ud) |
![]() | |
static QWindowPrivate * | get (QWindow *window) |
static Qt::WindowState | effectiveState (Qt::WindowStates) |
![]() | |
static bool | removeConnection (Connection *c) |
static QObjectPrivate * | get (QObject *o) |
static const QObjectPrivate * | get (const QObject *o) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot) |
static QMetaObject::Connection | connectImpl (const QObject *sender, int signal_index, const QObject *receiver, void **slot, QtPrivate::QSlotObjectBase *slotObj, int type, const int *types, const QMetaObject *senderMetaObject) |
static QMetaObject::Connection | connect (const QObject *sender, int signal_index, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type) |
static QMetaObject::Connection | connect (const QObject *sender, int signal_index, const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type) |
static bool | disconnect (const QObject *sender, int signal_index, void **slot) |
static bool | disconnect (const QObject *sender, int signal_index, const QObject *receiver, void **slot) |
Static Public Attributes | |
static bool | defaultAlphaBuffer = false |
static QQuickWindow::TextRenderType | textRenderType = QQuickWindow::QtTextRendering |
Additional Inherited Members | |
![]() | |
void | setCurrentColorGroup () |
Definition at line 86 of file qquickwindow_p.h.
Enumerator | |
---|---|
FullUpdateRequest | |
TriggerContextCreationFailure |
Definition at line 93 of file qquickwindow_p.h.
Enumerator | |
---|---|
NativeTextureIsExternalOES |
Definition at line 143 of file qquickwindow_p.h.
QQuickWindowPrivate::QQuickWindowPrivate | ( | ) |
Definition at line 667 of file qquickwindow.cpp.
|
override |
Definition at line 688 of file qquickwindow.cpp.
References deliveryAgent, inDestructor, redirect, QQuickWindowRenderTarget::reset(), rhi, and QQuickWindowPrivate::Redirect::rt.
Definition at line 833 of file qquickwindow.cpp.
References QList< T >::append(), cleanupNodeList, QListSpecialMethodsBase< T >::contains(), and Q_ASSERT.
void QQuickWindowPrivate::cleanupNodes | ( | ) |
Definition at line 1823 of file qquickwindow.cpp.
References QList< T >::at(), cleanupNodeList, QList< T >::clear(), and QList< T >::size().
Referenced by cleanupNodesOnShutdown(), and updateDirtyNodes().
void QQuickWindowPrivate::cleanupNodesOnShutdown | ( | ) |
Definition at line 1865 of file qquickwindow.cpp.
References animationController, QSet< T >::begin(), cleanupNodes(), cleanupNodesOnShutdown(), contentItem, QSet< T >::end(), it, parentlessItems, and QQuickAnimatorController::windowNodesDestroyed().
Referenced by cleanupNodesOnShutdown(), QSGSoftwareRenderThread::event(), QSGRhiSupport::grabOffscreen(), QSGGuiThreadRenderLoop::handleDeviceLoss(), QSGRenderThread::handleDeviceLoss(), QQuickRenderControl::invalidate(), QSGRenderThread::invalidateGraphics(), and QQuickRenderControlPrivate::windowDestroyed().
|
inline |
Definition at line 223 of file qquickwindow_p.h.
References item.
Referenced by QQuickContainerPrivate::cleanup(), setActiveFocus(), and QQuickMenuPrivate::setCurrentIndex().
|
overridevirtual |
Reimplemented from QWindowPrivate.
Definition at line 1727 of file qquickwindow.cpp.
References deliveryAgentPrivate().
void QQuickWindowPrivate::clearGrabbers | ( | QPointerEvent * | pointerEvent | ) |
Clears all exclusive and passive grabs for the points in pointerEvent.
We never allow any kind of grab to persist after release, unless we're waiting for a synth event from QtGui (as with most tablet events), so for points that are fully released, the grab is cleared.
Called when QQuickWindow::event dispatches events, or when the QQuickOverlay has filtered an event so that it bypasses normal delivery.
Definition at line 1339 of file qquickwindow.cpp.
References Qt::AA_SynthesizeMouseForUnhandledTabletEvents, QPointerEvent::clearPassiveGrabbers(), QPointerEvent::isEndEvent(), QEvent::isSinglePointEvent(), QQuickDeliveryAgentPrivate::isTabletEvent(), Qt::NoButton, QWindowSystemInterfacePrivate::TabletEvent::platformSynthesizesMouse, QPointerEvent::point(), QPointerEvent::points(), qApp, QEventPoint::Released, and QPointerEvent::setExclusiveGrabber().
|
inline |
Definition at line 154 of file qquickwindow_p.h.
QSGTexture * QQuickWindowPrivate::createTextureFromNativeTexture | ( | quint64 | nativeObjectHandle, |
int | nativeLayoutOrState, | ||
uint | nativeFormat, | ||
const QSize & | size, | ||
QQuickWindow::CreateTextureOptions | options, | ||
TextureFromNativeTextureFlags | flags = {} |
||
) | const |
Definition at line 3096 of file qquickwindow.cpp.
References rhi, and QSGPlainTexture::setTextureFromNativeTexture().
QQmlListProperty< QObject > QQuickWindowPrivate::data | ( | ) |
Definition at line 792 of file qquickwindow.cpp.
References data_append(), data_at(), data_clear(), data_count(), data_removeLast(), and data_replace().
|
static |
\qmlproperty list<QtObject> Window::data \qmldefault
The data property allows you to freely mix visual children, resources and other Windows in a Window.
If you assign another Window to the data list, the nested window will become "transient for" the outer Window.
If you assign an \l Item to the data list, it becomes a child of the Window's \l contentItem, so that it appears inside the window. The item's parent will be the window's contentItem, which is the root of the Item ownership tree within that Window.
If you assign any other object type, it is added as a resource.
It should not generally be necessary to refer to the data
property, as it is the default property for Window and thus all child items are automatically assigned to this property.
Definition at line 1757 of file qquickwindow.cpp.
References QQmlListProperty< T >::append, QQuickWindow::contentItem, QQuickItemPrivate::data(), QQuickItemPrivate::get(), o, qCDebug, and window().
Referenced by data().
|
static |
Definition at line 1779 of file qquickwindow.cpp.
References QQmlListProperty< T >::at, QQuickItemPrivate::data(), QQuickItemPrivate::get(), i, and win.
Referenced by data().
|
static |
Definition at line 1786 of file qquickwindow.cpp.
References QQmlListProperty< T >::clear, QQuickItemPrivate::data(), QQuickItemPrivate::get(), and win.
Referenced by data().
|
static |
Definition at line 1770 of file qquickwindow.cpp.
References QQmlListProperty< T >::count, QQuickItemPrivate::data(), QQuickItemPrivate::get(), and win.
Referenced by data().
|
static |
Definition at line 1800 of file qquickwindow.cpp.
References QQuickItemPrivate::data(), QQuickItemPrivate::get(), QQmlListProperty< T >::removeLast, and win.
Referenced by data().
|
static |
Definition at line 1793 of file qquickwindow.cpp.
References QQuickItemPrivate::data(), QQuickItemPrivate::get(), i, o, QQmlListProperty< T >::replace, and win.
Referenced by data().
|
inline |
Definition at line 115 of file qquickwindow_p.h.
References QObjectPrivate::get().
Referenced by QQuickDeliveryAgentPrivate::clearFocusInScope(), clearFocusObject(), QQuickDragAttachedPrivate::deliverEvent(), QQuickTouchUtils::flush(), QQuickMouseArea::itemChange(), QQuickRenderControl::polishItems(), polishItems(), QSGOpenVGRenderLoop::renderWindow(), QSGGuiThreadRenderLoop::renderWindow(), QSGSoftwareRenderLoop::renderWindow(), and QQuickDeliveryAgentPrivate::setFocusInScope().
void QQuickWindowPrivate::dirtyItem | ( | QQuickItem * | ) |
Definition at line 803 of file qquickwindow.cpp.
Referenced by QQuickItem::componentComplete(), and QQuickItemPrivate::dirty().
|
inlinestatic |
Definition at line 219 of file qquickwindow_p.h.
References d, and QQuickDeliveryAgentPrivate::dragOverThreshold().
Referenced by QQuickDrawerPrivate::grabMouse(), QQuickSwipeDelegatePrivate::handleMouseMoveEvent(), QQuickSwitch::mouseMoveEvent(), and QQuickSwitchDelegate::mouseMoveEvent().
|
inlinestatic |
Definition at line 221 of file qquickwindow_p.h.
References d, and QQuickDeliveryAgentPrivate::dragOverThreshold().
Definition at line 574 of file qquickwindow.cpp.
References emit.
Referenced by renderSceneGraph().
Definition at line 568 of file qquickwindow.cpp.
References emit.
Referenced by renderSceneGraph().
bool QQuickWindowPrivate::emitError | ( | QQuickWindow::SceneGraphError | error, |
const QString & | msg | ||
) |
Definition at line 2194 of file qquickwindow.cpp.
References emit, error, and QMetaMethod::fromSignal().
Referenced by QSGRenderLoop::handleContextCreationFailure().
void QQuickWindowPrivate::ensureCustomRenderTarget | ( | ) |
Definition at line 484 of file qquickwindow.cpp.
References customRenderTarget, QQuickRenderTargetPrivate::get(), QQuickRenderTarget::isNull(), redirect, QQuickWindowPrivate::Redirect::renderTargetDirty, QQuickWindowRenderTarget::reset(), QQuickRenderTargetPrivate::resolve(), rhi, and QQuickWindowPrivate::Redirect::rt.
Referenced by renderSceneGraph(), and syncSceneGraph().
|
inline |
Definition at line 180 of file qquickwindow_p.h.
References Q_EMIT.
Referenced by QSGRenderThread::event(), QSGSoftwareRenderThread::event(), QSGOpenVGRenderLoop::hide(), QSGSoftwareRenderLoop::hide(), QSGGuiThreadRenderLoop::hide(), and QQuickRenderControl::invalidate().
|
inline |
Definition at line 179 of file qquickwindow_p.h.
References Q_EMIT.
Referenced by QSGOpenVGRenderLoop::renderWindow(), QSGGuiThreadRenderLoop::renderWindow(), QSGSoftwareRenderLoop::renderWindow(), and QSGSoftwareRenderThread::syncAndRender().
void QQuickWindowPrivate::forcePolish | ( | ) |
Schedules polish events on all items in the scene.
Definition at line 431 of file qquickwindow.cpp.
References contentItem, and forcePolishHelper().
|
inlinestatic |
Definition at line 99 of file qquickwindow_p.h.
|
inlinestatic |
Definition at line 98 of file qquickwindow_p.h.
Referenced by QQuick3DWindowAttachment::QQuick3DWindowAttachment(), QQuickRenderControl::~QQuickRenderControl(), QQuickItemPrivate::addToDirtyList(), QQuick3DLightmapBaker::bake(), QSGRenderLoop::cleanup(), QQuickContainerPrivate::cleanup(), QQuickDeliveryAgentPrivate::clearFocusInScope(), QQuickItem::componentComplete(), QQuickWindowQmlImpl::componentComplete(), QSGRhiSupport::createRhi(), QSGCompressedTextureFactory::createTexture(), QQuickDragAttachedPrivate::deliverEvent(), QQuickItemPrivate::deliveryAgent(), QQuickItemPrivate::derefWindow(), QQuickItemPrivate::dirty(), QQuickShapeGenericRenderer::endSync(), QSGRenderThread::ensureRhi(), QSGGuiThreadRenderLoop::ensureRhi(), QSGRenderThread::event(), QSGSoftwareRenderThread::event(), QQuickDeliveryAgent::event(), QQuickOverlay::eventFilter(), QSGGuiThreadRenderLoop::exposureChanged(), QSGThreadedRenderLoop::exposureChanged(), QQuickTouchUtils::flush(), QQuickDeliveryAgentPrivate::flushFrameSynchronousEvents(), QSGSoftwareContext::getResource(), QSGDefaultContext::getResource(), QQuickRenderControlPrivate::grab(), QSGThreadedRenderLoop::grab(), QSGSoftwareThreadedRenderLoop::grab(), QSGGuiThreadRenderLoop::grab(), QSGRhiSupport::grabOffscreen(), QSGRenderLoop::handleContextCreationFailure(), QSGGuiThreadRenderLoop::handleDeviceLoss(), QSGRenderThread::handleDeviceLoss(), QQuickDeliveryAgentPrivate::handleMouseEvent(), QQuickShaderEffectPrivate::handleUpdatePaintNode(), QSGThreadedRenderLoop::handleUpdateRequest(), QSGOpenVGRenderLoop::hide(), QSGSoftwareRenderLoop::hide(), QSGGuiThreadRenderLoop::hide(), QQuickRenderControl::initialize(), QQuickRenderControl::invalidate(), QSGRenderThread::invalidateGraphics(), QQuickRenderControlPrivate::isRenderWindowFor(), QQuickMouseArea::itemChange(), QQuickCanvasItem::itemChange(), QSGGuiThreadRenderLoop::maybeUpdate(), QQuickItem::polish(), QQuickRenderControl::polishItems(), QQuickDesignerSupport::polishItems(), QSGRenderLoop::postJob(), QQuickRenderControl::prepareThread(), QSGRhiSupport::prepareWindowForRhi(), QQuickTest::qIsPolishScheduled(), QQuickTest::qWaitForPolish(), QQuickDesignerSupport::refFromEffectItem(), QQuickItemPrivate::refWindow(), QSGGuiThreadRenderLoop::releaseResources(), QSGGuiThreadRenderLoop::releaseSwapchain(), QQuickRenderControl::render(), QQuickWidgetPrivate::render(), QSGOpenVGRenderLoop::renderWindow(), QSGGuiThreadRenderLoop::renderWindow(), QSGSoftwareRenderLoop::renderWindow(), QQuickRenderControl::renderWindowFor(), QQuickWidgetPrivate::rhiConfig(), QSGRhiSupport::rifResource(), setActiveFocus(), QQuickMenuPrivate::setCurrentIndex(), QQuickDeliveryAgentPrivate::setFocusInScope(), QQuickItem::setParentItem(), QQuickRenderControl::sync(), QSGSoftwareRenderThread::sync(), QSGRenderThread::sync(), QSGSoftwareRenderThread::syncAndRender(), QSGRenderThread::syncAndRender(), QQuickCanvasItem::textureProvider(), QQuickFramebufferObject::textureProvider(), QQuickDesignerSupport::updateDirtyNode(), QQuickCanvasItem::updatePaintNode(), QQuickRenderControlPrivate::windowDestroyed(), QSGOpenVGRenderLoop::windowDestroyed(), QSGSoftwareRenderLoop::windowDestroyed(), and QSGGuiThreadRenderLoop::windowDestroyed().
void QQuickWindowPrivate::init | ( | QQuickWindow * | c, |
QQuickRenderControl * | control = nullptr |
||
) |
Definition at line 707 of file qquickwindow.cpp.
References QSGRenderLoop::addWindow(), animationController, QGuiApplication::applicationStateChanged(), QObject::connect(), contentItem, context, QJSEngine::CppOwnership, QSGRenderLoop::createRenderContext(), QSGContext::defaultSurfaceFormat(), deliveryAgent, Qt::DirectConnection, QQuickItemPrivate::flags, QWindow::focusObjectChanged(), QGuiApplication::fontDatabaseChanged(), QQuickWindow::frameSwapped(), QQuickItemPrivate::get(), QQuickRenderControlPrivate::get(), QSGRenderContext::initialized(), QSGRenderLoop::instance(), QCoreApplication::instance(), QSGRenderContext::invalidated(), QQuickItem::ItemIsFocusScope, lastReportedItemDevicePixelRatio, QSurface::OpenGLSurface, Q_ASSERT, QObjectData::q_ptr, qApp, qgetenv(), QQml_setParent_noEvent(), QQuickRenderControlPrivate::rc, renderControl, QScopedPointer< T, Cleanup >::reset(), QSGRenderLoop::sceneGraphContext(), QQuickWindow::sceneGraphInitialized(), QQuickWindow::sceneGraphInvalidated(), QWindow::screenChanged(), QObject::setObjectName(), QJSEngine::setObjectOwnership(), QQuickItem::setSize(), QQuickRenderControlPrivate::sg, visualizationMode, QQuickItemPrivate::window, QQuickRenderControlPrivate::window, windowManager, QQuickItemPrivate::windowRefCount, and QSGRenderLoop::windowSurfaceType().
void QQuickWindowPrivate::invalidateFontData | ( | QQuickItem * | item | ) |
Definition at line 473 of file qquickwindow.cpp.
References child, QGraphicsItem::childItems(), QObjectData::children, QQuickTextInterface::invalidate(), invalidateFontData(), and item.
Referenced by invalidateFontData(), and syncSceneGraph().
bool QQuickWindowPrivate::isRenderable | ( | ) | const |
Definition at line 1807 of file qquickwindow.cpp.
Referenced by QSGGuiThreadRenderLoop::maybeUpdate(), QSGOpenVGRenderLoop::renderWindow(), QSGGuiThreadRenderLoop::renderWindow(), and QSGSoftwareRenderLoop::renderWindow().
QOpenGLContext * QQuickWindowPrivate::openglContext | ( | ) |
Definition at line 2239 of file qquickwindow.cpp.
References context, QSGRendererInterface::getResource(), QSGRenderContext::isValid(), QSGRendererInterface::OpenGLContextResource, QSGContext::rendererInterface(), and QSGRenderContext::sceneGraphContext().
void QQuickWindowPrivate::polishItems | ( | ) |
Definition at line 329 of file qquickwindow.cpp.
References PolishLoopDetector::check(), deliveryAgentPrivate(), QGuiApplication::focusObject(), QQuickItemPrivate::get(), Qt::ImEnabled, QGraphicsItem::inputMethodQuery(), item, itemsToPolish, QQuickItemPrivate::polishScheduled, QVariant::toBool(), QQuickDeliveryAgentPrivate::updateFocusItemTransform(), and QQuickItemPrivate::updatePolish().
Referenced by QQuickRenderControlPrivate::grab(), QSGSoftwareThreadedRenderLoop::grab(), QSGGuiThreadRenderLoop::grab(), QSGRhiSupport::grabOffscreen(), QQuickRenderControl::polishItems(), QQuickDesignerSupport::polishItems(), QSGOpenVGRenderLoop::renderWindow(), QSGGuiThreadRenderLoop::renderWindow(), and QSGSoftwareRenderLoop::renderWindow().
void QQuickWindowPrivate::renderSceneGraph | ( | ) |
Definition at line 580 of file qquickwindow.cpp.
References QQuickAnimatorController::advance(), afterRenderingJobs, animationController, beforeRenderingJobs, QSGRenderContext::beginNextFrame(), cb, QQuickWindowPrivate::Redirect::commandBuffer, context, QRhiSwapChain::currentFrameCommandBuffer(), QRhiSwapChain::currentFrameRenderTarget(), QRhiSwapChain::currentPixelSize(), customRenderTarget, QWindowPrivate::devicePixelRatio, emit, emitAfterRenderPassRecording(), emitBeforeRenderPassRecording(), QSGRenderContext::endNextFrame(), ensureCustomRenderTarget(), FullUpdateRequest, QSGRenderer::hasVisualizationModeWithContinuousUpdate(), QPaintDevice::height(), QQuickRenderTarget::isNull(), QRhi::isYUpInNDC(), QSGAbstractRenderer::MatrixTransformFlipY, QQuickRenderTarget::mirrorVertically(), QQuickWindowRenderTarget::paintDevice, QRhiRenderTarget::pixelSize(), QCoreApplication::postEvent(), qWarning, redirect, renderer, QSGRenderContext::renderNextFrame(), QRhiRenderTarget::renderPassDescriptor(), QQuickWindowRenderTarget::renderTarget, rhi, rpDescForSwapchain, QQuickWindowPrivate::Redirect::rt, runAndClearJobs(), QSGRenderer::setDevicePixelRatio(), QSGAbstractRenderer::setDeviceRect(), QSGAbstractRenderer::setProjectionMatrixToRect(), QSGAbstractRenderer::setViewportRect(), swapchain, and QPaintDevice::width().
Referenced by QSGRenderThread::event(), QSGSoftwareRenderThread::event(), QSGGuiThreadRenderLoop::grab(), QSGRhiSupport::grabOffscreen(), QQuickRenderControl::render(), QSGOpenVGRenderLoop::renderWindow(), QSGGuiThreadRenderLoop::renderWindow(), QSGSoftwareRenderLoop::renderWindow(), and QSGSoftwareRenderThread::syncAndRender().
|
static |
Definition at line 1813 of file qquickwindow.cpp.
References QString::arg(), backendName, QString::fromLatin1(), and QT_TRANSLATE_NOOP.
Referenced by QQuickWidgetPrivate::handleContextCreationFailure(), and QSGRenderLoop::handleContextCreationFailure().
Definition at line 3825 of file qquickwindow.cpp.
References QList< T >::clear(), QMutex::lock(), renderJobMutex, and QMutex::unlock().
Referenced by renderSceneGraph(), and syncSceneGraph().
void QQuickWindowPrivate::setCustomCommandBuffer | ( | QRhiCommandBuffer * | cb | ) |
Definition at line 502 of file qquickwindow.cpp.
References cb, QQuickWindowPrivate::Redirect::commandBuffer, and redirect.
Referenced by QSGRhiSupport::grabOffscreen(), QQuickRenderControl::render(), and QQuickRenderControl::sync().
void QQuickWindowPrivate::syncSceneGraph | ( | ) |
Definition at line 508 of file qquickwindow.cpp.
References QQuickAnimatorController::afterNodeSync(), afterSynchronizingJobs, animationController, QSGNode::appendChildNode(), QQuickAnimatorController::beforeNodeSync(), beforeSynchronizingJobs, cb, QFont::cleanup(), clearColor, QSGAbstractRenderer::ClearColorBuffer, QSGAbstractRenderer::ClearDepthBuffer, QSGAbstractRenderer::ClearStencilBuffer, QQuickWindowPrivate::Redirect::commandBuffer, contentItem, context, QSGRenderContext::createRenderer(), QRhiSwapChain::currentFrameCommandBuffer(), emit, ensureCustomRenderTarget(), forceUpdate(), QQuickItemPrivate::get(), graphicsConfig, invalidateFontData(), QSGRenderContext::invalidateGlyphCaches(), QQuickGraphicsConfiguration::isDepthBufferEnabledFor2D(), pendingFontUpdate, QSGRenderContext::prepareSync(), redirect, renderer, QSGRendererInterface::RenderMode2D, QSGRendererInterface::RenderMode2DNoDepthBuffer, rhi, runAndClearJobs(), QSGAbstractRenderer::setClearColor(), QSGAbstractRenderer::setClearMode(), QSGAbstractRenderer::setRootNode(), QSGRenderer::setVisualizationMode(), swapchain, updateDirtyNodes(), and visualizationMode.
Referenced by QSGRenderThread::event(), QSGSoftwareRenderThread::event(), QQuickRenderControlPrivate::grab(), QSGGuiThreadRenderLoop::grab(), QSGRhiSupport::grabOffscreen(), QSGOpenVGRenderLoop::renderWindow(), QSGGuiThreadRenderLoop::renderWindow(), QSGSoftwareRenderLoop::renderWindow(), QQuickRenderControl::sync(), and QSGSoftwareRenderThread::sync().
Updates children palettes. The default implementation invokes inheritPalette for all visual children.
This function is also called when palette is changed (signal changed() is emitted).
Reimplemented from QQuickPaletteProviderPrivateBase< QQuickWindow, QQuickWindowPrivate >.
Definition at line 697 of file qquickwindow.cpp.
References child, QQuickItemPrivate::get(), QQuickPaletteProviderPrivateBase< I, Impl >::inheritPalette(), and QQuickPaletteProviderPrivateBase< QQuickWindow, QQuickWindowPrivate >::parentPalette().
Referenced by QQuickApplicationWindowPrivate::updateChildrenPalettes().
void QQuickWindowPrivate::updateDirtyNode | ( | QQuickItem * | item | ) |
Definition at line 1943 of file qquickwindow.cpp.
References QSGNode::appendChildNode(), QQuickTransform::applyTo(), QList< T >::at(), child, QQuickItemPrivate::childContainerNode(), QSGNode::childCount(), QQuickItemPrivate::ChildrenUpdateMask, QQuickItemPrivate::Clip, QQuickItemPrivate::clipNode(), QList< T >::constFirst(), QQuickItemPrivate::ContentUpdateMask, QQuickItemPrivate::dirtyAttributes, QQuickItemPrivate::EffectReference, QQuickItemPrivate::explicitVisible, QQuickItemPrivate::extra, fetchNextNode(), QSGNode::firstChild(), QQuickItemPrivate::flags, QQuickItemPrivate::get(), QQuickItemPrivate::HideReference, i, QSGNode::insertChildNodeAfter(), QSGNode::insertChildNodeBefore(), item, QQuickItem::ItemHasContents, QQuickItemPrivate::itemNode(), QQuickItemPrivate::itemNodeInstance, QSGNode::nextSibling(), QWindowPrivate::opacity, QQuickItemPrivate::opacity(), QQuickItemPrivate::opacityNode(), QQuickItemPrivate::OpacityValue, QQuickItemPrivate::origin(), QQuickItemPrivate::paintNode, QQuickItemPrivate::paintOrderChildItems(), QObjectData::parent, QSGNode::parent(), QSGNode::prependChildNode(), Q_ASSERT, qquickitem_before_paintNode(), QList< T >::removeAll(), QSGNode::removeAllChildNodes(), QSGNode::removeChildNode(), QSGNode::reparentChildNodesTo(), QQuickItemPrivate::rootNode(), QQuickItemPrivate::rotation(), QQuickItemPrivate::scale(), QSGClipNode::setClipRect(), QSGTransformNode::setMatrix(), QSGOpacityNode::setOpacity(), QQuickDefaultClipNode::setRect(), QList< T >::size(), QQuickItemPrivate::Size, QQuickItem::TopLeft, QQuickItem::UpdatePaintNodeData::transformNode, QGraphicsItem::transformOriginPoint(), QQuickItemPrivate::transforms, QQuickItemPrivate::TransformUpdateMask, QQuickDefaultClipNode::update(), updatePaintNodeData, QQuickItemPrivate::Visible, QQuickItemPrivate::Window, QPointF::x(), and QPointF::y().
Referenced by QQuickDesignerSupport::refFromEffectItem(), QQuickDesignerSupport::updateDirtyNode(), and updateDirtyNodes().
void QQuickWindowPrivate::updateDirtyNodes | ( | ) |
Definition at line 1876 of file qquickwindow.cpp.
References cleanupNodes(), dirtyItemList, QQuickItemPrivate::dirtyToString(), QQuickItemPrivate::get(), item, QQuickItemPrivate::prevDirtyItem, qCDebug, qPrintable, QQuickItemPrivate::removeFromDirtyList(), and updateDirtyNode().
Referenced by syncSceneGraph().
bool QQuickWindowPrivate::updateEffectiveOpacity | ( | QQuickItem * | ) |
void QQuickWindowPrivate::updateEffectiveOpacityRoot | ( | QQuickItem * | , |
qreal | |||
) |
Definition at line 246 of file qquickwindow_p.h.
Referenced by renderSceneGraph().
Definition at line 247 of file qquickwindow_p.h.
Definition at line 244 of file qquickwindow_p.h.
Referenced by syncSceneGraph().
QScopedPointer<QQuickAnimatorController> QQuickWindowPrivate::animationController |
Definition at line 190 of file qquickwindow_p.h.
Referenced by cleanupNodesOnShutdown(), QSGSoftwareRenderThread::event(), init(), QSGRenderThread::invalidateGraphics(), QQuickRenderControl::prepareThread(), renderSceneGraph(), QSGSoftwareRenderThread::syncAndRender(), syncSceneGraph(), and QQuickRenderControlPrivate::windowDestroyed().
Definition at line 245 of file qquickwindow_p.h.
Referenced by renderSceneGraph().
Definition at line 243 of file qquickwindow_p.h.
Referenced by syncSceneGraph().
Definition at line 165 of file qquickwindow_p.h.
Referenced by cleanup(), and cleanupNodes().
QColor QQuickWindowPrivate::clearColor |
Definition at line 192 of file qquickwindow_p.h.
Referenced by syncSceneGraph().
uint QQuickWindowPrivate::componentCompleted |
Definition at line 196 of file qquickwindow_p.h.
QQuickRootItem* QQuickWindowPrivate::contentItem |
Definition at line 108 of file qquickwindow_p.h.
Referenced by cleanupNodesOnShutdown(), forcePolish(), QQuickViewPrivate::init(), init(), and syncSceneGraph().
QSGRenderContext* QQuickWindowPrivate::context |
Definition at line 184 of file qquickwindow_p.h.
Referenced by QQuick3DWindowAttachment::QQuick3DWindowAttachment(), QSGCompressedTextureFactory::createTexture(), QSGGuiThreadRenderLoop::ensureRhi(), QSGDefaultContext::getResource(), QSGRhiSupport::grabOffscreen(), QQuickShaderEffectPrivate::handleUpdatePaintNode(), init(), QQuickCanvasItem::itemChange(), openglContext(), QQuickDesignerSupport::refFromEffectItem(), renderSceneGraph(), QSGOpenVGRenderLoop::renderWindow(), QSGSoftwareRenderLoop::renderWindow(), syncSceneGraph(), QQuickCanvasItem::textureProvider(), QQuickFramebufferObject::textureProvider(), and QQuickCanvasItem::updatePaintNode().
QQuickGraphicsDevice QQuickWindowPrivate::customDeviceObjects |
Definition at line 209 of file qquickwindow_p.h.
Referenced by QSGRhiSupport::createRhi().
QQuickRenderTarget QQuickWindowPrivate::customRenderTarget |
Definition at line 201 of file qquickwindow_p.h.
Referenced by ensureCustomRenderTarget(), and renderSceneGraph().
|
static |
Definition at line 215 of file qquickwindow_p.h.
QQuickDeliveryAgent* QQuickWindowPrivate::deliveryAgent = nullptr |
Definition at line 114 of file qquickwindow_p.h.
Referenced by ~QQuickWindowPrivate(), QQuickDeliveryAgentPrivate::clearFocusInScope(), QQuickItemPrivate::deliveryAgent(), init(), and QQuickDeliveryAgentPrivate::setFocusInScope().
QRhiRenderBuffer* QQuickWindowPrivate::depthStencilForSwapchain = nullptr |
Definition at line 255 of file qquickwindow_p.h.
Referenced by QSGRenderThread::ensureRhi(), QSGGuiThreadRenderLoop::ensureRhi(), and QSGGuiThreadRenderLoop::releaseSwapchain().
QQuickItem* QQuickWindowPrivate::dirtyItemList |
Definition at line 164 of file qquickwindow_p.h.
Referenced by QQuickDeliveryAgentPrivate::flushFrameSynchronousEvents(), and updateDirtyNodes().
QQuickGraphicsConfiguration QQuickWindowPrivate::graphicsConfig |
Definition at line 211 of file qquickwindow_p.h.
Referenced by QQuickRenderControl::~QQuickRenderControl(), QSGRhiSupport::createRhi(), QSGRenderThread::invalidateGraphics(), QSGGuiThreadRenderLoop::renderWindow(), QQuickWidgetPrivate::rhiConfig(), QSGRenderThread::syncAndRender(), and syncSceneGraph().
uint QQuickWindowPrivate::hasActiveSwapchain |
Definition at line 257 of file qquickwindow_p.h.
Referenced by QSGGuiThreadRenderLoop::exposureChanged(), QSGThreadedRenderLoop::exposureChanged(), QSGGuiThreadRenderLoop::releaseSwapchain(), QSGGuiThreadRenderLoop::renderWindow(), and QSGRenderThread::syncAndRender().
uint QQuickWindowPrivate::hasRenderableSwapchain |
Definition at line 258 of file qquickwindow_p.h.
Referenced by QSGGuiThreadRenderLoop::exposureChanged(), QSGThreadedRenderLoop::exposureChanged(), QSGGuiThreadRenderLoop::releaseSwapchain(), QSGGuiThreadRenderLoop::renderWindow(), and QSGRenderThread::syncAndRender().
|
mutable |
Definition at line 213 of file qquickwindow_p.h.
uint QQuickWindowPrivate::inDestructor |
Definition at line 197 of file qquickwindow_p.h.
Referenced by ~QQuickWindowPrivate().
QVector<QQuickItem *> QQuickWindowPrivate::itemsToPolish |
Definition at line 167 of file qquickwindow_p.h.
Referenced by polishItems(), QQuickTest::qIsPolishScheduled(), QQuickTest::qWaitForPolish(), and QQuickItemPrivate::refWindow().
qreal QQuickWindowPrivate::lastReportedItemDevicePixelRatio |
Definition at line 169 of file qquickwindow_p.h.
Referenced by init().
QSet<QQuickItem *> QQuickWindowPrivate::parentlessItems |
Definition at line 109 of file qquickwindow_p.h.
Referenced by cleanupNodesOnShutdown(), QQuickItemPrivate::refWindow(), and QQuickItem::setParentItem().
bool QQuickWindowPrivate::pendingFontUpdate = false |
Definition at line 261 of file qquickwindow_p.h.
Referenced by syncSceneGraph().
uint QQuickWindowPrivate::persistentGraphics |
Definition at line 194 of file qquickwindow_p.h.
uint QQuickWindowPrivate::persistentSceneGraph |
Definition at line 195 of file qquickwindow_p.h.
QMetaObject::Connection QQuickWindowPrivate::physicalDpiChangedConnection |
Definition at line 170 of file qquickwindow_p.h.
struct QQuickWindowPrivate::Redirect QQuickWindowPrivate::redirect |
QQuickRenderControl* QQuickWindowPrivate::renderControl |
Definition at line 189 of file qquickwindow_p.h.
Referenced by QQuickRenderControl::~QQuickRenderControl(), QSGRhiSupport::grabOffscreen(), init(), QQuickRenderControlPrivate::isRenderWindowFor(), QSGRhiSupport::prepareWindowForRhi(), and QQuickRenderControl::renderWindowFor().
QSGRenderer* QQuickWindowPrivate::renderer |
Definition at line 185 of file qquickwindow_p.h.
Referenced by QSGSoftwareRenderThread::event(), QQuickRenderControlPrivate::grab(), QQuickWidgetPrivate::render(), renderSceneGraph(), QSGSoftwareRenderLoop::renderWindow(), QSGSoftwareRenderThread::sync(), QSGSoftwareRenderThread::syncAndRender(), and syncSceneGraph().
QMutex QQuickWindowPrivate::renderJobMutex |
Definition at line 242 of file qquickwindow_p.h.
Referenced by runAndClearJobs().
Definition at line 253 of file qquickwindow_p.h.
Referenced by ~QQuickWindowPrivate(), createTextureFromNativeTexture(), QQuickShapeGenericRenderer::endSync(), ensureCustomRenderTarget(), QSGRenderThread::ensureRhi(), QSGGuiThreadRenderLoop::ensureRhi(), QSGRenderThread::event(), QSGGuiThreadRenderLoop::grab(), QSGRhiSupport::grabOffscreen(), QQuickRenderControl::initialize(), QSGRenderThread::invalidateGraphics(), QSGRenderLoop::postJob(), renderSceneGraph(), QSGGuiThreadRenderLoop::renderWindow(), QSGRenderThread::syncAndRender(), and syncSceneGraph().
QQuickWindow::GraphicsStateInfo QQuickWindowPrivate::rhiStateInfo |
Definition at line 252 of file qquickwindow_p.h.
QRhiRenderPassDescriptor* QQuickWindowPrivate::rpDescForSwapchain = nullptr |
Definition at line 256 of file qquickwindow_p.h.
Referenced by QSGRenderThread::ensureRhi(), QSGGuiThreadRenderLoop::ensureRhi(), QSGGuiThreadRenderLoop::releaseSwapchain(), and renderSceneGraph().
QRhiSwapChain* QQuickWindowPrivate::swapchain = nullptr |
Definition at line 254 of file qquickwindow_p.h.
Referenced by QSGRenderThread::ensureRhi(), QSGGuiThreadRenderLoop::ensureRhi(), QSGRenderThread::event(), QSGGuiThreadRenderLoop::exposureChanged(), QSGThreadedRenderLoop::exposureChanged(), QSGGuiThreadRenderLoop::grab(), QSGRenderThread::invalidateGraphics(), QSGGuiThreadRenderLoop::releaseSwapchain(), renderSceneGraph(), QSGGuiThreadRenderLoop::renderWindow(), QSGRhiSupport::rifResource(), QSGRenderThread::syncAndRender(), and syncSceneGraph().
uint QQuickWindowPrivate::swapchainJustBecameRenderable |
Definition at line 259 of file qquickwindow_p.h.
Referenced by QSGGuiThreadRenderLoop::exposureChanged(), QSGThreadedRenderLoop::exposureChanged(), QSGGuiThreadRenderLoop::releaseSwapchain(), QSGGuiThreadRenderLoop::renderWindow(), and QSGRenderThread::syncAndRender().
|
static |
Definition at line 216 of file qquickwindow_p.h.
QQuickItem::UpdatePaintNodeData QQuickWindowPrivate::updatePaintNodeData |
Definition at line 162 of file qquickwindow_p.h.
Referenced by updateDirtyNode().
uint QQuickWindowPrivate::updatesEnabled |
Definition at line 260 of file qquickwindow_p.h.
Referenced by QQuick3DLightmapBaker::bake(), and QSGGuiThreadRenderLoop::renderWindow().
QByteArray QQuickWindowPrivate::visualizationMode |
Definition at line 186 of file qquickwindow_p.h.
Referenced by init(), and syncSceneGraph().
bool QQuickWindowPrivate::windowEventDispatch = false |
Definition at line 262 of file qquickwindow_p.h.
QSGRenderLoop* QQuickWindowPrivate::windowManager |
Definition at line 188 of file qquickwindow_p.h.
Referenced by QSGRenderLoop::cleanup(), and init().