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
qsgsoftwarecontext_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
QSGSOFTWARECONTEXT_H
6
#
define
QSGSOFTWARECONTEXT_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
/
qsgcontext_p
.
h
>
20
#
include
<
private
/
qsgadaptationlayer_p
.
h
>
21
#
include
"qsgrendererinterface.h"
22
23
QT_BEGIN_NAMESPACE
24
25
class
QSGSoftwareRenderContext :
public
QSGRenderContext
26
{
27
Q_OBJECT
28
public
:
29
QSGSoftwareRenderContext(QSGContext *ctx);
30
void
initializeIfNeeded();
31
void
invalidate() override;
32
void
renderNextFrame(QSGRenderer *renderer) override;
33
QSGTexture *createTexture(
const
QImage &image, uint flags = CreateTexture_Alpha)
const
override;
34
QSGRenderer *createRenderer(QSGRendererInterface::RenderMode) override;
35
int
maxTextureSize()
const
override;
36
37
bool
m_initialized;
38
QPainter *m_activePainter;
39
};
40
41
class
QSGSoftwareContext
:
public
QSGContext
,
public
QSGRendererInterface
42
{
43
Q_OBJECT
44
public
:
45
explicit
QSGSoftwareContext
(
QObject
*
parent
=
nullptr
);
46
47
QSGRenderContext
*
createRenderContext
()
override
{
return
new
QSGSoftwareRenderContext(
this
); }
48
QSGInternalRectangleNode
*
createInternalRectangleNode
()
override
;
49
QSGInternalImageNode
*
createInternalImageNode
(QSGRenderContext *renderContext)
override
;
50
QSGPainterNode
*
createPainterNode
(QQuickPaintedItem *item)
override
;
51
QSGGlyphNode
*
createGlyphNode
(QSGRenderContext *rc, QSGTextNode::RenderType renderType)
override
;
52
QSGLayer
*
createLayer
(QSGRenderContext *renderContext)
override
;
53
QSurfaceFormat
defaultSurfaceFormat
()
const
override
;
54
QSGRendererInterface
*
rendererInterface
(QSGRenderContext *renderContext)
override
;
55
QSGRectangleNode
*
createRectangleNode
()
override
;
56
QSGImageNode
*
createImageNode
()
override
;
57
QSGNinePatchNode
*
createNinePatchNode
()
override
;
58
#
if
QT_CONFIG
(
quick_sprite
)
59
QSGSpriteNode
*
createSpriteNode
()
override
;
60
#
endif
61
62
QSGTextNode
::
RenderType
processTextRenderType
(QSGTextNode::RenderType renderType)
override
;
63
64
GraphicsApi
graphicsApi
()
const
override
;
65
ShaderType
shaderType
()
const
override
;
66
ShaderCompilationTypes
shaderCompilationType
()
const
override
;
67
ShaderSourceTypes
shaderSourceType
()
const
override
;
68
void
*
getResource
(QQuickWindow *window, Resource resource)
const
override
;
69
};
70
71
QT_END_NAMESPACE
72
73
#
endif
// QSGSOFTWARECONTEXT_H
QSGAbstractSoftwareRenderer
Definition
qsgabstractsoftwarerenderer_p.h:31
QSGSoftwareContext
Definition
qsgsoftwarecontext_p.h:42
QSGSoftwareContext::defaultSurfaceFormat
QSurfaceFormat defaultSurfaceFormat() const override
Definition
qsgsoftwarecontext.cpp:74
QSGSoftwareContext::createRectangleNode
QSGRectangleNode * createRectangleNode() override
Definition
qsgsoftwarecontext.cpp:140
QSGSoftwareContext::processTextRenderType
QSGTextNode::RenderType processTextRenderType(QSGTextNode::RenderType renderType) override
Definition
qsgsoftwarecontext.cpp:63
QSGSoftwareContext::createLayer
QSGLayer * createLayer(QSGRenderContext *renderContext) override
Definition
qsgsoftwarecontext.cpp:69
QSGSoftwareContext::createImageNode
QSGImageNode * createImageNode() override
Definition
qsgsoftwarecontext.cpp:145
QSGSoftwareContext::createPainterNode
QSGPainterNode * createPainterNode(QQuickPaintedItem *item) override
Definition
qsgsoftwarecontext.cpp:51
QSGSoftwareContext::createGlyphNode
QSGGlyphNode * createGlyphNode(QSGRenderContext *rc, QSGTextNode::RenderType renderType) override
Definition
qsgsoftwarecontext.cpp:56
QSGSoftwareContext::shaderCompilationType
ShaderCompilationTypes shaderCompilationType() const override
Definition
qsgsoftwarecontext.cpp:172
QSGSoftwareContext::shaderSourceType
ShaderSourceTypes shaderSourceType() const override
Definition
qsgsoftwarecontext.cpp:177
QSGSoftwareContext::createRenderContext
QSGRenderContext * createRenderContext() override
Definition
qsgsoftwarecontext_p.h:47
QSGSoftwareContext::graphicsApi
GraphicsApi graphicsApi() const override
Returns the graphics API that is in use by the Qt Quick scenegraph.
Definition
qsgsoftwarecontext.cpp:162
QSGSoftwareContext::rendererInterface
QSGRendererInterface * rendererInterface(QSGRenderContext *renderContext) override
Returns a pointer to the (presumably) global renderer interface.
Definition
qsgsoftwarecontext.cpp:134
QSGSoftwareContext::createInternalImageNode
QSGInternalImageNode * createInternalImageNode(QSGRenderContext *renderContext) override
Definition
qsgsoftwarecontext.cpp:45
QSGSoftwareContext::shaderType
ShaderType shaderType() const override
Definition
qsgsoftwarecontext.cpp:167
QSGSoftwareContext::getResource
void * getResource(QQuickWindow *window, Resource resource) const override
Queries a graphics resource in window.
Definition
qsgsoftwarecontext.cpp:182
QSGSoftwareContext::createNinePatchNode
QSGNinePatchNode * createNinePatchNode() override
Definition
qsgsoftwarecontext.cpp:150
QSGSoftwareContext::createInternalRectangleNode
QSGInternalRectangleNode * createInternalRectangleNode() override
Definition
qsgsoftwarecontext.cpp:40
QSGSoftwareInternalRectangleNode
Definition
qsgsoftwareinternalrectanglenode_p.h:28
QSGSoftwareRenderListBuilder
Definition
qsgsoftwarerenderlistbuilder_p.h:26
QSGSoftwareRenderListBuilder::endVisit
void endVisit(QSGRenderNode *) override
Definition
qsgsoftwarerenderlistbuilder.cpp:126
QSGSoftwareRenderListBuilder::visit
bool visit(QSGRenderNode *) override
Definition
qsgsoftwarerenderlistbuilder.cpp:121
QSGSoftwareRenderListBuilder::visit
bool visit(QSGTransformNode *) override
Definition
qsgsoftwarerenderlistbuilder.cpp:28
QSGSoftwareRenderListBuilder::endVisit
void endVisit(QSGTransformNode *) override
Definition
qsgsoftwarerenderlistbuilder.cpp:33
QSGSoftwareRenderListBuilder::QSGSoftwareRenderListBuilder
QSGSoftwareRenderListBuilder(QSGAbstractSoftwareRenderer *renderer)
Definition
qsgsoftwarerenderlistbuilder.cpp:22
QSGSoftwareRenderableNodeUpdater
Definition
qsgsoftwarerenderablenodeupdater_p.h:31
QSGSoftwareRenderableNodeUpdater::QSGSoftwareRenderableNodeUpdater
QSGSoftwareRenderableNodeUpdater(QSGAbstractSoftwareRenderer *renderer)
Definition
qsgsoftwarerenderablenodeupdater.cpp:21
QSGSoftwareRenderableNodeUpdater::endVisit
void endVisit(QSGTransformNode *) override
Definition
qsgsoftwarerenderablenodeupdater.cpp:46
QSGSoftwareRenderableNodeUpdater::endVisit
void endVisit(QSGRenderNode *) override
Definition
qsgsoftwarerenderablenodeupdater.cpp:170
QSGSoftwareRenderableNodeUpdater::~QSGSoftwareRenderableNodeUpdater
virtual ~QSGSoftwareRenderableNodeUpdater()
Definition
qsgsoftwarerenderablenodeupdater.cpp:31
QSGSoftwareRenderableNodeUpdater::visit
bool visit(QSGRenderNode *) override
Definition
qsgsoftwarerenderablenodeupdater.cpp:165
QSGSoftwareRenderableNodeUpdater::visit
bool visit(QSGTransformNode *) override
Definition
qsgsoftwarerenderablenodeupdater.cpp:36
QSGSoftwareRenderableNodeUpdater::updateNodes
void updateNodes(QSGNode *node, bool isNodeRemoved=false)
Definition
qsgsoftwarerenderablenodeupdater.cpp:174
QSGSoftwareRenderableNode
Definition
qsgsoftwarerenderablenode_p.h:41
QSGSoftwareSpriteNode
Definition
qsgsoftwarespritenode_p.h:29
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
Q_STATIC_LOGGING_CATEGORY
QT_BEGIN_NAMESPACE Q_STATIC_LOGGING_CATEGORY(lcSynthesizedIterableAccess, "qt.iterable.synthesized", QtWarningMsg)
qtdeclarative
src
quick
scenegraph
adaptations
software
qsgsoftwarecontext_p.h
Generated on
for Qt by
1.18.0