C
Qul::PlatformInterface::Texture Class
class Qul::PlatformInterface::Textureテクスチャに関する情報を格納するクラス。詳細...
| Header: | #include <platforminterface/texture.h> |
| Since: | Qt Quick Ultralite (Platform) 1.5 |
パブリック型
(since Qt Quick Ultralite (Platform) 1.5) enum | Flags { NoTextureFlags, Swizzled, PartiallyOverlaps, NeedsCachedLoadFromSlowMemory, PaddedWithTransparency, …, PreRotated } |
パブリック関数
| Texture(const unsigned char *data, Qul::PixelFormat format, int flags, int16_t width, int16_t height, int8_t bitsPerPixel, int16_t bytesPerLine, const Qul::Private::TextureLayout *textureLayout = NULL) | |
| int8_t | bitsPerPixel() const |
| int16_t | bytesPerLine() const |
(since Qt Quick Ultralite (Platform) 1.5) const unsigned char * | data() const |
| int | flags() const |
| Qul::PixelFormat | format() const |
| int16_t | height() const |
(since Qt Quick Ultralite (Platform) 1.9) Qul::PlatformInterface::PixelDataPointer | pixelData(int16_t x, int16_t y) const |
(since Qt Quick Ultralite (Platform) 1.7) Qul::PlatformInterface::Size | size() const |
| int16_t | width() const |
詳細な説明
このクラスは、テクスチャ(高速表示に適した形式で表現された画像データ)をレンダリングするために必要な値を含んでいます。これらの値には、data ポインタ、format 指定子、textureflags 、pixelformat 、width 、height 、bitsPerPixel 、およびbytesPerLine が含まれます。
たとえば、データがリソースキャッシュ内に存在する場合など、テクスチャインスタンスは無効になる可能性があり、関数呼び出しの存続期間を超えてコピーしたり保持したりしてはなりません。また、Qul::SharedImage::texture() を呼び出すと、同じ関数内の既存のテクスチャインスタンスが無効になる場合もあります。
メンバ型のドキュメント
[since Qt Quick Ultralite (Platform) 1.5] enum Texture::Flags
この列挙型は、さまざまなテクスチャのプロパティを指定します。
| 定数 | 値 | 説明 |
|---|---|---|
Qul::PlatformInterface::Texture::NoTextureFlags | 0x00 | フラグは設定されていません。 |
Qul::PlatformInterface::Texture::Swizzled | 0x01 | テクスチャデータはスウィズル処理されており、つまり非線形に配置されているため、デコードにはハードウェアのサポートが必要です。このフラグは、Renesas RH850 など、スウィズル処理されたテクスチャ形式をサポートしている特定のプラットフォームでのみ使用されます。 |
Qul::PlatformInterface::Texture::PartiallyOverlaps | 0x02 | テクスチャデータが別のテクスチャと部分的に重なっている可能性があります。これは、スペースを節約するために画像が複数のサブ画像に分割された場合に発生することがあります。 不透明領域をまたぐ分割があり、かつ画像の回転や拡大縮小が行われる場合、バイリニアフィルタリングによって正しい視覚的出力が得られるよう、各サブ画像は周囲の内容でパディングされることがあります。 |
Qul::PlatformInterface::Texture::NeedsCachedLoadFromSlowMemory | 0x04 | この値はQt Quick Ultralite によって内部的に使用されるものであり、プラットフォームの実装では無視してもかまいません。これは、テクスチャを使用する前に、フラッシュメモリなどの低速なメモリから、より高速なメモリへコピーする必要があることを示しています。 |
Qul::PlatformInterface::Texture::PaddedWithTransparency | 0x08 | この値は、テクスチャに幅が少なくとも 1 ピクセルある透明な境界がパディングされることを指定します。これは、画像を回転または拡大縮小する際に、バイリニアフィルタリングを使用して画像の端を透明に滑らかにフェードさせるために役立ちます。注:この透明なパディングは、width および height で指定されるテクスチャの境界の _外側_ にあります。 |
Qul::PlatformInterface::Texture::Rotated | 0x10 | この値は、実行時にテクスチャが回転されることを指定します。特定のプラットフォームでは、レンダリングプロセスを最適化するために、テクスチャが別の形式に変換されます。最適化は、ImageFiles.MCU.resourceOptimizeForRotationプロパティを持つリソースに対して設定され、そのリソース内のすべてのテクスチャに適用されます。 |
Qul::PlatformInterface::Texture::RawData | 0x20 | この値はQt Quick Ultraliteによって内部的に使用されるものであり、プラットフォームの実装では無視してもかまいません。ピクセルデータは、ImageDecoder によってデコードされる未知の生形式で格納されています。このフラグはコアライブラリ部分によって設定されるものであり、変更してはなりません。 |
Qul::PlatformInterface::Texture::LoadFromFile | 0x40 | この値はQt Quick Ultraliteによって内部的に使用されるものであり、プラットフォームの実装では無視しても構いません。ピクセルデータはテクスチャデータポインタには含まれていません。その代わりに、データポインタにはデータを取得するためのファイルに関する情報が含まれています。データを取得する唯一の方法はResourceCacheを経由することであり、これによりデコードされた画像データを保持するキャッシュされたアイテムが提供されます。 |
Qul::PlatformInterface::Texture::PreRotated | 0x80 | この値は、テクスチャがディスプレイの回転角度に合わせて事前に回転されていることを示します。この値はQt Quick Ultraliteによって内部的に使用されるものであり、プラットフォームの実装では無視しても構いません。カスタムペイントされたアイテムなど、テクスチャを手動で描画するアプリケーションでは、この事前回転を補正する必要がある場合もあります。 |
この列挙型は、Qt Quick Ultralite (Platform) 1.5 で導入されました。
Textureも参照してください 。
メンバ関数のドキュメント
Texture::Texture(const unsigned char *data, Qul::PixelFormat format, int flags, int16_t width, int16_t height, int8_t bitsPerPixel, int16_t bytesPerLine, const Qul::Private::TextureLayout *textureLayout = NULL)
テクスチャオブジェクトを作成します。
指定されたdata 、format 、flags 、width 、height 、bitsPerPixel 、およびbytesPerLine を持つテクスチャオブジェクトを作成します。
textureLayout の値は、フォールバックのDrawingEngine によって、変換された画像をブレンドするために使用されます。
int8_t Texture::bitsPerPixel() const
テクスチャの1ピクセルあたりのビット数を返します。
パディングのため、テクスチャのサイズは width * height * 8 * bitsPerPixel よりも大きくなる場合があります。
int16_t Texture::bytesPerLine() const
テクスチャの1行あたりのバイト数を返します。
これにはパディングも含まれるため、この値は `width` に 8 を掛けた値に `bitsPerPixel` を足した値よりも大きくなる場合があります。
[since Qt Quick Ultralite (Platform) 1.5] const unsigned char *Texture::data() const
テクスチャデータが格納されているメモリへのポインタを返します。
この関数は、Qt Quick Ultralite (Platform) 1.5 で導入されました。
int Texture::flags() const
Flags 列挙型のフラグを論理和(OR)で結合した結果を返します。
これらのフラグは、テクスチャに透明なパディングがあるかどうかなど、テクスチャの特別な機能を表します。
Qul::PixelFormat Texture::format() const
テクスチャデータのピクセル形式を返します。
int16_t Texture::height() const
テクスチャの高さをピクセル単位で返します。
[since Qt Quick Ultralite (Platform) 1.9] Qul::PlatformInterface::PixelDataPointer Texture::pixelData(int16_t x, int16_t y) const
x-pixel-offsetx および y-pixel-offsety から始まるテクスチャのピクセルデータの位置に関する正確な情報を返します。
テクスチャの 1 ピクセルあたりのビット数がバイト (8 ビット) の倍数でない場合、ピクセルx およびy の実際のデータは、完全なバイト境界ではなく、たとえばバイト 3 のビット 2 などの別の場所から始まる可能性があります。そのような場合、Qul::PlatformInterface::PixelDataPointer::bitOffset の戻り値は 0 以外になります。
一般に、ピクセルデータはバイトQul::PlatformInterface::PixelDataPointer::address +Qul::PlatformInterface::PixelDataPointer::bitOffset ビットの位置から始まります。
この関数は、ランレングスエンコードされたピクセル形式PixelFormat_RLE_ARGB32 、PixelFormat_RLE_ARGB32_Premultiplied 、PixelFormat_RLE_RGB32 、およびPixelFormat_RLE_RGB888 ではサポートされていません。
この関数は、Qt Quick Ultralite (Platform) 1.9 で導入されました。
[since Qt Quick Ultralite (Platform) 1.7] Qul::PlatformInterface::Size Texture::size() const
テクスチャのサイズをピクセル単位で返します。
この関数は、Qt Quick Ultralite (Platform) 1.7 で導入されました。
int16_t Texture::width() const
テクスチャの幅をピクセル単位で返します。
特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。