Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qsgsoftwarethreadedrenderloop_p.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QSGSOFTWARETHREADEDRENDERLOOP_H
6
#
define
QSGSOFTWARETHREADEDRENDERLOOP_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists purely as an
13
// implementation detail. This header file may change from version to
14
// version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
<
private
/
qsgrenderloop_p
.
h
>
20
21
QT_BEGIN_NAMESPACE
22
23
class
QSGSoftwareRenderThread
;
24
class
QSGSoftwareContext
;
25
26
class
QSGSoftwareThreadedRenderLoop
:
public
QSGRenderLoop
27
{
28
Q_OBJECT
29
public
:
30
QSGSoftwareThreadedRenderLoop
();
31
~
QSGSoftwareThreadedRenderLoop
();
32
33
void
show
(QQuickWindow *window)
override
;
34
void
hide
(QQuickWindow *window)
override
;
35
void
resize
(QQuickWindow *window)
override
;
36
void
windowDestroyed
(QQuickWindow *window)
override
;
37
void
exposureChanged
(QQuickWindow *window)
override
;
38
QImage
grab
(QQuickWindow *window)
override
;
39
void
update
(QQuickWindow *window)
override
;
40
void
maybeUpdate
(QQuickWindow *window)
override
;
41
void
handleUpdateRequest
(QQuickWindow *window)
override
;
42
QAnimationDriver
*
animationDriver
()
const
override
;
43
QSGContext *
sceneGraphContext
()
const
override
;
44
QSGRenderContext
*
createRenderContext
(QSGContext *)
const
override
;
45
void
releaseResources
(QQuickWindow *window)
override
;
46
void
postJob
(QQuickWindow *window, QRunnable *job)
override
;
47
QSurface
::
SurfaceType
windowSurfaceType
()
const
override
;
48
bool
interleaveIncubation
()
const
override
;
49
int
flags
()
const
override
;
50
51
bool
event
(QEvent *e)
override
;
52
53
public
Q_SLOTS
:
54
void
onAnimationStarted
();
55
void
onAnimationStopped
();
56
57
private
:
58
struct
WindowData {
59
QQuickWindow *window;
60
QSGSoftwareRenderThread
*thread;
61
uint updateDuringSync : 1;
62
uint forceRenderPass : 1;
63
};
64
65
WindowData *windowFor(QQuickWindow *window);
66
67
void
startOrStopAnimationTimer();
68
void
handleExposure(QQuickWindow *window);
69
void
handleObscurity(WindowData *w);
70
void
scheduleUpdate(WindowData *w);
71
void
handleResourceRelease(WindowData *w,
bool
destroying);
72
void
polishAndSync(WindowData *w,
bool
inExpose);
73
74
QSGSoftwareContext
*m_sg;
75
QAnimationDriver *m_anim;
76
int
animationTimer = 0;
77
bool
lockedForSync =
false
;
78
QList<WindowData> m_windows;
79
80
friend
class
QSGSoftwareRenderThread
;
81
};
82
83
QT_END_NAMESPACE
84
85
#
endif
// QSGSOFTWARETHREADEDRENDERLOOP_H
QObjectData::parent
QObject * parent
Definition
qobject.h:74
QObject
\inmodule QtCore
Definition
qobject.h:106
QSGSoftwareAdaptation
Definition
qsgsoftwareadaptation_p.h:28
QSGSoftwareAdaptation::keys
QStringList keys() const override
Definition
qsgsoftwareadaptation.cpp:20
QSGSoftwareAdaptation::create
QSGContext * create(const QString &key) const override
Definition
qsgsoftwareadaptation.cpp:25
QSGSoftwareAdaptation::flags
QSGContextFactoryInterface::Flags flags(const QString &key) const override
Definition
qsgsoftwareadaptation.cpp:32
QSGSoftwareAdaptation::QSGSoftwareAdaptation
QSGSoftwareAdaptation(QObject *parent=nullptr)
Definition
qsgsoftwareadaptation.cpp:15
QSGSoftwareAdaptation::createWindowManager
QSGRenderLoop * createWindowManager() override
Definition
qsgsoftwareadaptation.cpp:40
QSGSoftwareContext
Definition
qsgsoftwarecontext_p.h:42
QSGSoftwareRenderLoop
Definition
qsgsoftwarerenderloop_p.h:26
QSGSoftwareRenderLoop::update
void update(QQuickWindow *window) override
Definition
qsgsoftwarerenderloop_p.h:42
QSGSoftwareRenderLoop::~QSGSoftwareRenderLoop
~QSGSoftwareRenderLoop()
Definition
qsgsoftwarerenderloop.cpp:34
QSGSoftwareRenderLoop::createRenderContext
QSGRenderContext * createRenderContext(QSGContext *) const override
Definition
qsgsoftwarerenderloop_p.h:52
QSGSoftwareRenderLoop::m_backingStores
QHash< QQuickWindow *, QBackingStore * > m_backingStores
Definition
qsgsoftwarerenderloop_p.h:60
QSGSoftwareRenderLoop::grab
QImage grab(QQuickWindow *window) override
Definition
qsgsoftwarerenderloop.cpp:204
QSGSoftwareRenderLoop::exposureChanged
void exposureChanged(QQuickWindow *window) override
Definition
qsgsoftwarerenderloop.cpp:196
QSGSoftwareRenderLoop::sg
QSGContext * sg
Definition
qsgsoftwarerenderloop_p.h:62
QSGSoftwareRenderLoop::m_windows
QHash< QQuickWindow *, WindowData > m_windows
Definition
qsgsoftwarerenderloop_p.h:59
QSGSoftwareRenderLoop::animationDriver
QAnimationDriver * animationDriver() const override
Definition
qsgsoftwarerenderloop_p.h:49
QSGSoftwareRenderLoop::maybeUpdate
void maybeUpdate(QQuickWindow *window) override
Definition
qsgsoftwarerenderloop.cpp:232
QSGSoftwareRenderLoop::rc
QSGRenderContext * rc
Definition
qsgsoftwarerenderloop_p.h:63
QSGSoftwareRenderLoop::sceneGraphContext
QSGContext * sceneGraphContext() const override
Definition
qsgsoftwarerenderloop.cpp:248
QSGSoftwareRenderLoop::show
void show(QQuickWindow *window) override
Definition
qsgsoftwarerenderloop.cpp:40
QSGSoftwareRenderLoop::hide
void hide(QQuickWindow *window) override
Definition
qsgsoftwarerenderloop.cpp:54
QSGSoftwareRenderLoop::handleUpdateRequest
void handleUpdateRequest(QQuickWindow *) override
Definition
qsgsoftwarerenderloop.cpp:254
QSGSoftwareRenderLoop::releaseResources
void releaseResources(QQuickWindow *) override
Definition
qsgsoftwarerenderloop_p.h:45
QSGSoftwareRenderLoop::windowDestroyed
void windowDestroyed(QQuickWindow *window) override
Definition
qsgsoftwarerenderloop.cpp:60
QSGSoftwareRenderLoop::windowSurfaceType
QSurface::SurfaceType windowSurfaceType() const override
Definition
qsgsoftwarerenderloop.cpp:241
QSGSoftwareRenderLoop::renderWindow
void renderWindow(QQuickWindow *window, bool isNewExpose=false)
Definition
qsgsoftwarerenderloop.cpp:77
QSGSoftwareRenderLoop::grabContent
QImage grabContent
Definition
qsgsoftwarerenderloop_p.h:65
QSGSoftwareRenderThread
Definition
qsgsoftwarethreadedrenderloop.cpp:127
QSGSoftwareThreadedRenderLoop
Definition
qsgsoftwarethreadedrenderloop_p.h:27
QSGSoftwareThreadedRenderLoop::exposureChanged
void exposureChanged(QQuickWindow *window) override
Definition
qsgsoftwarethreadedrenderloop.cpp:587
QSGSoftwareThreadedRenderLoop::animationDriver
QAnimationDriver * animationDriver() const override
Definition
qsgsoftwarethreadedrenderloop.cpp:672
QSGSoftwareThreadedRenderLoop::resize
void resize(QQuickWindow *window) override
Definition
qsgsoftwarethreadedrenderloop.cpp:548
QSGSoftwareThreadedRenderLoop::handleUpdateRequest
void handleUpdateRequest(QQuickWindow *window) override
Definition
qsgsoftwarethreadedrenderloop.cpp:663
QSGSoftwareThreadedRenderLoop::update
void update(QQuickWindow *window) override
Definition
qsgsoftwarethreadedrenderloop.cpp:639
QSGSoftwareThreadedRenderLoop::windowDestroyed
void windowDestroyed(QQuickWindow *window) override
Definition
qsgsoftwarethreadedrenderloop.cpp:556
QSGSoftwareThreadedRenderLoop::event
bool event(QEvent *e) override
This virtual function receives events to an object and should return true if the event e was recogniz...
Definition
qsgsoftwarethreadedrenderloop.cpp:727
QSGSoftwareThreadedRenderLoop::flags
int flags() const override
Definition
qsgsoftwarethreadedrenderloop.cpp:722
QSGSoftwareThreadedRenderLoop::~QSGSoftwareThreadedRenderLoop
~QSGSoftwareThreadedRenderLoop()
Definition
qsgsoftwarethreadedrenderloop.cpp:527
QSGSoftwareThreadedRenderLoop::grab
QImage grab(QQuickWindow *window) override
Definition
qsgsoftwarethreadedrenderloop.cpp:600
QSGSoftwareThreadedRenderLoop::maybeUpdate
void maybeUpdate(QQuickWindow *window) override
Definition
qsgsoftwarethreadedrenderloop.cpp:656
QSGSoftwareThreadedRenderLoop::releaseResources
void releaseResources(QQuickWindow *window) override
Definition
qsgsoftwarethreadedrenderloop.cpp:687
QSGSoftwareThreadedRenderLoop::sceneGraphContext
QSGContext * sceneGraphContext() const override
Definition
qsgsoftwarethreadedrenderloop.cpp:677
QSGSoftwareThreadedRenderLoop::windowSurfaceType
QSurface::SurfaceType windowSurfaceType() const override
Definition
qsgsoftwarethreadedrenderloop.cpp:705
QSGSoftwareThreadedRenderLoop::hide
void hide(QQuickWindow *window) override
Definition
qsgsoftwarethreadedrenderloop.cpp:538
QSGSoftwareThreadedRenderLoop::createRenderContext
QSGRenderContext * createRenderContext(QSGContext *) const override
Definition
qsgsoftwarethreadedrenderloop.cpp:682
QSGSoftwareThreadedRenderLoop::postJob
void postJob(QQuickWindow *window, QRunnable *job) override
Definition
qsgsoftwarethreadedrenderloop.cpp:696
QSGSoftwareThreadedRenderLoop::interleaveIncubation
bool interleaveIncubation() const override
Definition
qsgsoftwarethreadedrenderloop.cpp:710
QSGSoftwareThreadedRenderLoop::onAnimationStopped
void onAnimationStopped()
Definition
qsgsoftwarethreadedrenderloop.cpp:749
QSGSoftwareThreadedRenderLoop::show
void show(QQuickWindow *window) override
Definition
qsgsoftwarethreadedrenderloop.cpp:533
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QSGSoftwareRenderLoop::WindowData
Definition
qsgsoftwarerenderloop_p.h:54
QSGSoftwareRenderLoop::WindowData::grabOnly
bool grabOnly
Definition
qsgsoftwarerenderloop_p.h:56
QSGSoftwareRenderLoop::WindowData::updatePending
bool updatePending
Definition
qsgsoftwarerenderloop_p.h:55
qtdeclarative
src
quick
scenegraph
adaptations
software
qsgsoftwarethreadedrenderloop_p.h
Generated on
for Qt by
1.18.0