5#include <QtQuick/private/qsgcontext_p.h>
6#include <QtGui/qguiapplication.h>
7#include <QtCore/private/qfactoryloader_p.h>
8#include <QtCore/qlibraryinfo.h>
11#include <QtQuick/private/qsgsoftwareadaptation_p.h>
12#include <QtQuick/private/qsgdefaultcontext_p.h>
14#include <QtGui/private/qguiapplication_p.h>
15#include <QtGui/qpa/qplatformintegration.h>
71 return qsg_adaptation_data()->flags;
78 if (!backendData->
tried) {
79 backendData->
tried =
true;
106#if !QT_CONFIG(opengl) && !QT_CONFIG(vulkan) && !defined(Q_OS_WIN) && !defined(Q_OS_MACOS) && !defined(Q_OS_IOS)
107 if (requestedBackend.
isEmpty())
119 if (requestedBackend.
isEmpty())
126 requestedBackend.
clear();
128 if (!requestedBackend.
isEmpty()) {
133 if (builtInBackend->keys().contains(requestedBackend)) {
134 backendData->
factory = builtInBackend;
135 backendData->
name = requestedBackend;
141#if QT_CONFIG(library)
144 const int index =
loader()->indexOf(requestedBackend);
146 backendData->
factory = qobject_cast<QSGContextFactoryInterface*>(
loader()->instance(
index));
148 backendData->
name = requestedBackend;
152 qWarning(
"Could not create scene graph context for backend '%s'"
153 " - check that plugins are installed correctly in %s",
215 if (backendData->
tried)
216 qWarning(
"Scenegraph already initialized, setBackend() request ignored");
224 if (backendData->
tried)
225 return backendData->
name;
232#include "moc_qsgcontextplugin_p.cpp"
static QStringList arguments()
static QPlatformIntegration * platformIntegration()
static QString path(LibraryPath p)
qsizetype size() const noexcept
const_reference at(qsizetype i) const noexcept
The QQuickTextureFactory class provides an interface for loading custom textures from QML....
virtual ~QSGContextPlugin()
The QSGContext holds the scene graph entry points for one QML engine.
static QQuickTextureFactory * createTextureFactoryFromImage(const QImage &image)
Calls into the scene graph adaptation if available and creates a texture factory.
static void setBackend(const QString &backend)
static QSGRenderLoop * createWindowManager()
Calls into the scene graph adaptation if available and creates a hardware specific window manager.
static QSGContext * createDefaultContext()
Creates a default scene graph context for the current hardware.
\macro QT_RESTRICTED_CAST_FROM_ASCII
void clear()
Clears the contents of the string and makes it null.
bool isEmpty() const
Returns true if the string has no characters; otherwise returns false.
qDeleteAll(list.begin(), list.end())
Combined button and popup list for selecting options.
#define Q_GLOBAL_STATIC_WITH_ARGS(TYPE, NAME, ARGS)
#define Q_GLOBAL_STATIC(TYPE, NAME,...)
#define qCDebug(category,...)
#define Q_DECLARE_LOGGING_CATEGORY(name)
QSGAdaptationBackendData * contextFactory()
QSGContextFactoryInterface::Flags qsg_backend_flags()
#define QSGContextFactoryInterface_iid
#define qUtf8Printable(string)
#define qPrintable(string)
QLatin1StringView QLatin1String
QString qEnvironmentVariable(const char *varName, const QString &defaultValue)
QString quickWindowBackendRequest
QSGAdaptationBackendData()
~QSGAdaptationBackendData()
QVector< QSGContextFactoryInterface * > builtIns
QSGContextFactoryInterface::Flags flags
QSGContextFactoryInterface * factory
virtual Flags flags(const QString &key) const =0
virtual QQuickTextureFactory * createTextureFactoryFromImage(const QImage &image)=0
virtual QSGRenderLoop * createWindowManager()=0
virtual QSGContext * create(const QString &key) const =0
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent