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
qsgopenvgcontext_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 QSGOPENVGCONTEXT_H
5#define QSGOPENVGCONTEXT_H
6
7#include <private/qsgcontext_p.h>
9
10Q_DECLARE_LOGGING_CATEGORY(QSG_OPENVG_LOG_TIME_RENDERLOOP)
11
13
14class QOpenVGContext;
17
19{
21public:
23
24 static const int INIT_PARAMS_MAGIC = 0x51E;
29
31 void invalidate() override;
32 void renderNextFrame(QSGRenderer *renderer) override;
33 QSGTexture *createTexture(const QImage &image, uint flags) const override;
35 int maxTextureSize() const override;
36
37 // QSGRendererInterface interface
38 GraphicsApi graphicsApi() const override;
39 ShaderType shaderType() const override;
40 ShaderCompilationTypes shaderCompilationType() const override;
41 ShaderSourceTypes shaderSourceType() const override;
42
43 QOpenVGContext* vgContext() { return m_vgContext; }
45
46private:
47 QOpenVGContext *m_vgContext;
48 QSGOpenVGFontGlyphCacheManager *m_glyphCacheManager;
49
50};
51
53{
55public:
57
60 QSGImageNode *createImageNode() override;
62 QSGGlyphNode *createGlyphNode(QSGRenderContext *rc, bool preferNativeGlyphNode, int renderTypeQuality) override;
64 QSGLayer *createLayer(QSGRenderContext *renderContext) override;
65 QSurfaceFormat defaultSurfaceFormat() const override;
68#if QT_CONFIG(quick_sprite)
69 QSGSpriteNode *createSpriteNode() override;
70#endif
72};
73
75
76#endif // QSGOPENVGCONTEXT_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 QQuickPaintedItem class provides a way to use the QPainter API in the QML Scene Graph.
The QRawFont class provides access to a single physical instance of a font.
Definition qrawfont.h:24
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
QSurfaceFormat defaultSurfaceFormat() const override
QSGNinePatchNode * createNinePatchNode() override
QSGRenderContext * createRenderContext() override
QSGGlyphNode * createGlyphNode(QSGRenderContext *rc, bool preferNativeGlyphNode, int renderTypeQuality) override
QSGOpenVGContext(QObject *parent=nullptr)
QSGLayer * createLayer(QSGRenderContext *renderContext) override
QSGInternalImageNode * createInternalImageNode(QSGRenderContext *renderContext) override
QSGImageNode * createImageNode() override
QSGInternalRectangleNode * createInternalRectangleNode() override
QSGRectangleNode * createRectangleNode() override
QSGPainterNode * createPainterNode(QQuickPaintedItem *item) override
QSGRendererInterface * rendererInterface(QSGRenderContext *renderContext) override
Returns a pointer to the (presumably) global renderer interface.
QOpenVGContext * vgContext()
ShaderSourceTypes shaderSourceType() const override
void renderNextFrame(QSGRenderer *renderer) override
int maxTextureSize() const override
static const int INIT_PARAMS_MAGIC
ShaderType shaderType() const override
GraphicsApi graphicsApi() const override
Returns the graphics API that is in use by the Qt Quick scenegraph.
ShaderCompilationTypes shaderCompilationType() const override
QSGRenderer * createRenderer(QSGRendererInterface::RenderMode renderMode=QSGRendererInterface::RenderMode2D) override
QSGTexture * createTexture(const QImage &image, uint flags) const override
QSGOpenVGFontGlyphCache * glyphCache(const QRawFont &rawFont)
QSGOpenVGRenderContext(QSGContext *context)
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...
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.
\inmodule QtQuick
Definition qsgtexture.h:20
The QSurfaceFormat class represents the format of a QSurface. \inmodule QtGui.
Combined button and popup list for selecting options.
Definition image.cpp:4
static void * context
static bool initialize()
Definition qctf.cpp:94
#define Q_DECLARE_LOGGING_CATEGORY(name)
GLbitfield flags
void ** params
#define Q_OBJECT
unsigned int uint
Definition qtypes.h:34
QGraphicsItem * item
QSvgRenderer * renderer
[0]