QQuickTextureFactory Class
QQuickTextureFactory クラスは、QML からカスタムテクスチャを読み込むためのインターフェイスを提供します。詳細...
Header: | #include <QQuickTextureFactory> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Quick) target_link_libraries(mytarget PRIVATE Qt6::Quick) |
qmake: | QT += quick |
Inherits: | 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 noexcept]
QQuickTextureFactory::~QQuickTextureFactory()
テクスチャ ファクトリを破棄します。
[pure virtual]
QSGTexture *QQuickTextureFactory::createTexture(QQuickWindow *window) const
この関数はシーングラフのレンダリングスレッドで呼び出され、ファクトリーからQSGTexture インスタンスを作成します。window は、このテクスチャが作成されるコンテキストを提供します。
QMLは必要に応じて、返されたテクスチャを内部的にキャッシュします。この関数を呼び出すたびに、一意のインスタンスが返されます。
レンダリングに使用される OpenGL コンテキストは、この関数が呼び出されたときにバインドされます。
[virtual]
QImage QQuickTextureFactory::image() const
このテクスチャの画像バージョンを返します。
返されるイメージの寿命は不明であるため、実装はQImage(uchar *, ...) コンストラクタを使用せず、自己のQImage を返すべきである。
この関数はあまり使用されず、動作が遅くなることが予想されます。
[pure virtual]
int QQuickTextureFactory::textureByteCount() const
テクスチャが消費するメモリのバイト数を返します。
[static]
QQuickTextureFactory *QQuickTextureFactory::textureFactoryForImage(const QImage &image)
与えられたimage を保持するQQuickTextureFactory を返します。
これは通常、QQuickImageResponse::textureFactory のヘルパーとして使用されます。
[pure virtual]
QSize QQuickTextureFactory::textureSize() const
テクスチャのサイズを返します。この関数は任意のスレッドから呼び出され、OpenGLコンテキストバウンドに依存してはいけません。
この関数は任意のスレッドから呼び出されます。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。