Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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
4#ifndef QSGSOFTWARECONTEXT_H
5#define QSGSOFTWARECONTEXT_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <private/qsgcontext_p.h>
19#include <private/qsgadaptationlayer_p.h>
21
22Q_DECLARE_LOGGING_CATEGORY(QSG_RASTER_LOG_TIME_RENDERLOOP)
23Q_DECLARE_LOGGING_CATEGORY(QSG_RASTER_LOG_TIME_COMPILATION)
24Q_DECLARE_LOGGING_CATEGORY(QSG_RASTER_LOG_TIME_TEXTURE)
25Q_DECLARE_LOGGING_CATEGORY(QSG_RASTER_LOG_TIME_GLYPH)
26Q_DECLARE_LOGGING_CATEGORY(QSG_RASTER_LOG_TIME_RENDERER)
27Q_DECLARE_LOGGING_CATEGORY(QSG_RASTER_LOG_INFO)
28Q_DECLARE_LOGGING_CATEGORY(QSG_RASTER_LOG_RENDERLOOP)
29
31
47
49{
51public:
52 explicit QSGSoftwareContext(QObject *parent = nullptr);
53
58 QSGGlyphNode *createGlyphNode(QSGRenderContext *rc, QSGTextNode::RenderType renderType, int renderTypeQuality) override;
59 QSGLayer *createLayer(QSGRenderContext *renderContext) override;
60 QSurfaceFormat defaultSurfaceFormat() const override;
63 QSGImageNode *createImageNode() override;
65#if QT_CONFIG(quick_sprite)
66 QSGSpriteNode *createSpriteNode() override;
67#endif
68
69 GraphicsApi graphicsApi() const override;
70 ShaderType shaderType() const override;
71 ShaderCompilationTypes shaderCompilationType() const override;
72 ShaderSourceTypes shaderSourceType() const override;
73 void *getResource(QQuickWindow *window, Resource resource) const override;
74};
75
77
78#endif // QSGSOFTWARECONTEXT_H
\inmodule QtGui
Definition qimage.h:37
\inmodule QtCore
Definition qobject.h:103
QObject * parent() const
Returns a pointer to the parent object.
Definition qobject.h:346
The QPainter class performs low-level painting on widgets and other paint devices.
Definition qpainter.h:46
The QQuickPaintedItem class provides a way to use the QPainter API in the QML Scene Graph.
\qmltype Window \instantiates QQuickWindow \inqmlmodule QtQuick
The QSGContext holds the scene graph entry points for one QML engine.
The QSGImageNode class is provided for convenience to easily draw textured content using the QML scen...
\inmodule QtQuick
The QSGRectangleNode class is a convenience class for drawing solid filled rectangles using scenegrap...
An interface providing access to some of the graphics API specific internals of the scenegraph.
RenderMode
\value RenderMode2D Normal 2D rendering \value RenderMode2DNoDepthBuffer Normal 2D rendering with dep...
Resource
\value DeviceResource The resource is a pointer to the graphics device, when applicable.
GraphicsApi
\value Unknown An unknown graphics API is in use \value Software The Qt Quick 2D Renderer is in use \...
ShaderType
\value UnknownShadingLanguage Not yet known due to no window and scenegraph associated \value GLSL GL...
The renderer class is the abstract baseclass used for rendering the QML scene graph.
QSurfaceFormat defaultSurfaceFormat() const override
QSGRectangleNode * createRectangleNode() override
QSGLayer * createLayer(QSGRenderContext *renderContext) override
QSGImageNode * createImageNode() override
QSGPainterNode * createPainterNode(QQuickPaintedItem *item) override
ShaderCompilationTypes shaderCompilationType() const override
ShaderSourceTypes shaderSourceType() const override
QSGRenderContext * createRenderContext() override
GraphicsApi graphicsApi() const override
Returns the graphics API that is in use by the Qt Quick scenegraph.
QSGRendererInterface * rendererInterface(QSGRenderContext *renderContext) override
Returns a pointer to the (presumably) global renderer interface.
QSGGlyphNode * createGlyphNode(QSGRenderContext *rc, QSGTextNode::RenderType renderType, int renderTypeQuality) override
QSGSoftwareContext(QObject *parent=nullptr)
QSGInternalImageNode * createInternalImageNode(QSGRenderContext *renderContext) override
ShaderType shaderType() const override
void * getResource(QQuickWindow *window, Resource resource) const override
Queries a graphics resource in window.
QSGNinePatchNode * createNinePatchNode() override
QSGInternalRectangleNode * createInternalRectangleNode() override
QSGSoftwareRenderContext(QSGContext *ctx)
int maxTextureSize() const override
QSGTexture * createTexture(const QImage &image, uint flags=CreateTexture_Alpha) const override
QSGRenderer * createRenderer(QSGRendererInterface::RenderMode) override
void renderNextFrame(QSGRenderer *renderer) override
RenderType
This enum type describes type of glyph node used for rendering the text.
Definition qsgtextnode.h:29
\inmodule QtQuick
Definition qsgtexture.h:20
The QSurfaceFormat class represents the format of a QSurface. \inmodule QtGui.
EGLContext ctx
Combined button and popup list for selecting options.
Definition image.cpp:4
#define Q_DECLARE_LOGGING_CATEGORY(name)
GLbitfield flags
#define Q_OBJECT
unsigned int uint
Definition qtypes.h:34
QGraphicsItem * item
aWidget window() -> setWindowTitle("New Window Title")
[2]
QSvgRenderer * renderer
[0]