Класс QQuickTextureFactory
Класс QQuickTextureFactory предоставляет интерфейс для загрузки пользовательских текстур из QML. Подробнее...
| Заголовок: | #include <QQuickTextureFactory> |
| qmake: | QT += quick |
| С момента: | Qt 5.0 |
| Наследуется от: | QObject |
Этот класс был представлен в Qt 5.0.
Открытые функции
| 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] 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-5.15/qquicktexturefactory.html