Класс 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.2/qquicktexturefactory.html