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