Spec-Zone.ru › Qt 5.12

Класс QSGEngine

Класс QSGEngine позволяет выполнять низкоуровневое рендеринг графа сцены. Подробнее...

Заголовок: #include <QSGEngine>
qmake: QT += quick
С момента: Qt 5.4
Наследует: QObject
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Типы публичного доступа

Перечисление CreateTextureOption { TextureHasAlphaChannel, TextureOwnsGLTexture, TextureCanUseAtlas, TextureIsOpaque }
флаги CreateTextureOptions

Функции публичного доступа

QSGEngine(QObject *parent = nullptr)
виртуальный ~QSGEngine() override
QSGImageNode * createImageNode() const
QSGNinePatchNode * createNinePatchNode() const
QSGRectangleNode * createRectangleNode() const
QSGAbstractRenderer * createRenderer() const
QSGTexture * createTextureFromId(uint id, const QSize &size, QSGEngine::CreateTextureOptions options) const
QSGTexture * createTextureFromImage(const QImage &image, QSGEngine::CreateTextureOptions options) const
void initialize(QOpenGLContext *context)
void invalidate()
QSGRendererInterface * rendererInterface() const
  • 31 функция унаследованная от QObject

Статические члены публичного доступа

const QMetaObject staticMetaObject
  • 9 статических членов унаследованных от QObject

Дополнительные унаследованные члены

  • 1 свойство унаследованное от QObject
  • 1 слот публичного доступа унаследованный от QObject
  • 2 сигнала унаследованные от QObject
  • 9 защищенных функций унаследованных от QObject

Подробное описание

Класс QSGEngine позволяет выполнять низкоуровневое рендеринг графа сцены.

QSGEngine можно использовать для рендеринга дерева QSGNode непосредственно на QWindow или QOpenGLFramebufferObject без какой-либо интеграции с QML, QQuickWindow или QQuickItem и удобства, которые они предоставляют.

Это означает, что вы должны самостоятельно обрабатывать распространение событий, управление временем анимации и жизненный цикл узлов.

Примечание: Этот класс предназначен для очень низкоуровневого доступа к независимому графу сцены. В большинстве случаев вы захотите вместо этого унаследовать от QQuickItem и вставить свой QSGNode в обычную сцену QtQuick, переопределив QQuickItem::updatePaintNode().

См. также QSGAbstractRenderer.

Документация по типу членов

перечисление QSGEngine::CreateTextureOptionфлаги QSGEngine::CreateTextureOptions

Перечисления CreateTextureOption используются для настройки способа обертывания текстуры.

Константа Значение Описание
QSGEngine::TextureHasAlphaChannel 0x0001 Текстура имеет альфа-канал и должна быть отрисована с использованием смешивания.
QSGEngine::TextureOwnsGLTexture 0x0004 Объект текстуры владеет идентификатором текстуры и удалит текстуру GL при удалении объекта текстуры.
QSGEngine::TextureCanUseAtlas 0x0008 Изображение можно загрузить в атлас текстур.
QSGEngine::TextureIsOpaque 0x0010 Объект текстуры непрозрачен.

Тип CreateTextureOptions является псевдонимом для QFlags<CreateTextureOption>. Он хранит результат побитового ИЛИ комбинации значений CreateTextureOption.

Документация по функциям-членам

QSGEngine::QSGEngine(QObject *parent = nullptr)

Конструирует новый QSGEngine с его parent

[override virtual] QSGEngine::~QSGEngine()

Удаляет движок

QSGImageNode *QSGEngine::createImageNode() const

Создает простой узел изображения. Если граф сцены не инициализирован, возвращается значение null.

Это кросс-платформенная альтернатива прямому созданию QSGSimpleTextureNode.

Эта функция была добавлена в Qt 5.8.

См. также QSGImageNode.

QSGNinePatchNode *QSGEngine::createNinePatchNode() const

Создает узел девятипанельного изображения. Если граф сцены не инициализирован, возвращается значение null.

Эта функция была добавлена в Qt 5.8.

QSGRectangleNode *QSGEngine::createRectangleNode() const

Создаёт простой узел прямоугольника. Если граф сцены не инициализирован, возвращается значение null.

Это кросс-платформенная альтернатива прямому созданию QSGSimpleRectNode.

Эта функция была добавлена в Qt 5.8.

См. также QSGRectangleNode.

QSGAbstractRenderer *QSGEngine::createRenderer() const

Возвращает рендерер, который можно использовать для рендеринга дерева QSGNode

Сначала вызывайте initialize() с QOpenGLContext, который вы хотите использовать с этим рендерером. В противном случае вернётся null-рендерер.

QSGTexture *QSGEngine::createTextureFromId(uint id, const QSize &size, QSGEngine::CreateTextureOptions options) const

Создаёт объект текстуры, который оборачивает текстуру GL с идентификатором id, загруженную с размером size

Допустимые значения options — TextureHasAlphaChannel и TextureOwnsGLTexture

Вызывающая сторона берёт на себя ответственность за объект текстуры, и текстуру следует использовать только с этим движком.

См. также createTextureFromImage(), QSGSimpleTextureNode::setOwnsTexture(), и QQuickWindow::createTextureFromId().

QSGTexture *QSGEngine::createTextureFromImage(const QImage &image, QSGEngine::CreateTextureOptions options) const

Создаёт текстуру, используя данные из image

Допустимые значения options — TextureCanUseAtlas и TextureIsOpaque.

Вызывающая сторона берёт на себя ответственность за текстуру, и текстуру следует использовать только с этим движком.

См. также createTextureFromId(), QSGSimpleTextureNode::setOwnsTexture(), и QQuickWindow::createTextureFromImage().

void QSGEngine::initialize(QOpenGLContext *context)

Инициализирует движок с context.

Предупреждение: Необходимо убедиться, что вы вызываете QOpenGLContext::makeCurrent() на context перед вызовом этого метода.

void QSGEngine::invalidate()

Очистить движок, освобождая его ресурсы.

Вам необходимо вызвать initialize() и createRenderer(), если вы хотите использовать его снова.

QSGRendererInterface *QSGEngine::rendererInterface() const

Возвращает текущий интерфейс рендера, если он существует. В противном случае возвращается null.

Эта функция была добавлена в Qt 5.8.

См. также QSGRenderNode и QSGRendererInterface.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qsgengine.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API