Класс QQuickTextureFactory
Класс QQuickTextureFactory предоставляет интерфейс для загрузки пользовательских текстур из QML. Подробнее...
| Заголовок: | #include <QQuickTextureFactory> |
| CMake: | find_package(Qt6 COMPONENTS Quick REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Quick) |
| qmake: | QT += quick |
| С тех пор: | Qt 5.0 |
| Наследует: | QObject |
Открытые функции
| QQuickTextureFactory() | |
| virtual | ~QQuickTextureFactory() override |
| virtual QSGTexture * | createTexture(QQuickWindow *window) const = 0 |
| virtual QImage | image() const |
| virtual int | textureByteCount() const = 0 |
| virtual QSize | textureSize() const = 0 |
Статические открытые члены
| QQuickTextureFactory * | textureFactoryForImage(const QImage &image) |
Подробное описание
Цель фабрики текстур — предоставить заглушку для данных изображения, которые могут быть преобразованы в текстуру OpenGL.
Создание текстуры напрямую невозможно, так как в потоке, отвечающем за загрузку данных изображения, контекст OpenGL редко доступен.
Документация по функциям-членам
QQuickTextureFactory::QQuickTextureFactory()
Конструирует фабрику текстур. Поскольку QQuickTextureFactory является абстрактным, его нельзя создать напрямую.
[override virtual] QQuickTextureFactory::~QQuickTextureFactory()
Уничтожает фабрику текстур.
[pure virtual] QSGTexture *QQuickTextureFactory::createTexture(QQuickWindow *window) const
Эта функция вызывается в потоке рендеринга графического сцены для создания экземпляра QSGTexture из фабрики. window предоставляет контекст, в котором создаётся эта текстура.
QML будет в качестве необходимого кэшировать возвращаемую текстуру. Каждый вызов этой функции должен возвращать уникальный экземпляр.
Контекст OpenGL, используемый для рендеринга, привязывается при вызове этой функции.
[virtual] QImage QQuickTextureFactory::image() const
Возвращает версию изображения этой текстуры.
Срок службы возвращённого изображения неизвестен, поэтому реализация должна возвращать самодостаточную QImage, а не использовать конструктор QImage(uchar *, ...).
Эта функция не часто используется и, как ожидается, будет медленной.
[pure virtual] int QQuickTextureFactory::textureByteCount() const
Возвращает количество байтов памяти, занимаемой текстурой.
[static, since 5.6] QQuickTextureFactory *QQuickTextureFactory::textureFactoryForImage(const QImage &image)
Возвращает QQuickTextureFactory, содержащий заданное image.
Обычно используется в качестве вспомогательной функции в QQuickImageResponse::textureFactory.
Эта функция была введена в Qt 5.6.
[pure virtual] QSize QQuickTextureFactory::textureSize() const
Возвращает размер текстуры. Эта функция будет вызываться из произвольных потоков и не должна опираться на привязанный контекст OpenGL.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qquicktexturefactory.html