XLATEOBJ 構造体 (winddi.h)
XLATEOBJ 構造体は、カラー インデックスをパレット間で変換するために使用されます。
構文
typedef struct _XLATEOBJ {
ULONG iUniq;
FLONG flXlate;
USHORT iSrcType;
USHORT iDstType;
ULONG cEntries;
ULONG *pulXlate;
} XLATEOBJ;
メンバー
iUniq
ドライバーが以前にキャッシュした XLATEOBJ 構造体を認識できるようにするキャッシュ識別子。 このメンバーが 0 の場合、ドライバーは XLATEOBJ 構造体をキャッシュしないでください。
flXlate
翻訳に関するヒントを指定するフラグ。 このメンバーには、次の値の任意に組み合わせが可能です。
値 | 意味 |
---|---|
XO_DEVICE_ICM | デバイスで ICM が有効になっています。 ドライバーは、 DrvIcmCreateColorTransform によって作成された色変換に従って色を変換する必要があります。 ドライバーは、色変換ハンドルを取得する XLATEOBJ_hGetColorTransform を呼び出す必要があります。 このビットは、XO_HOST_ICMとは相互に排他的です。 |
XO_FROM_CMYK | ICM 変換の結果、ソース インデックスは 32 ビット CMYK カラー形式に変換されます。 このビットが設定されている場合、 iSrcType、 iDstType、 cEntries、 および pulXlate は無視する必要があります。 |
XO_HOST_ICM | ICM はグラフィックス エンジンによって実行されるため、このカラー テーブルの色はターゲット サーフェスに修正されます。 このビットは、ドライバーの情報として GDI によって設定されます。ドライバーではアクションは必要ありません。 このビットは、XO_DEVICE_ICMとは相互に排他的です。 |
XO_TABLE | ソース インデックスをターゲット インデックスに変換するテーブルが用意されています。 |
XO_TO_MONO | ソース インデックスは、1 つを除くすべてのインデックスが 0 にマップされる特別なプロパティを持つモノクロ形式に変換されます。 ドライバーはこれを使用して、ブロック転送を高速化できます。 |
XO_TRIVIAL | ソース インデックスはターゲット インデックスとして使用できます。 |
iSrcType
現在は使用されていません。 XLATEOBJ_cGetPaletteを使用してソース形式のクエリを実行します。
iDstType
現在は使用されていません。 変換先の形式を照会するには、XLATEOBJ_cGetPaletteを使用します。
cEntries
pulXlate メンバーが指す配列内のエントリの数を指定します。 値が cEntries より大きい pulXlate にインデックスを作成すると、メモリ アクセス違反が発生します。
pulXlate
翻訳エントリの配列へのポインター。
注釈
変換先パレットは常に、描画操作の対象サーフェスに属します。 ソース パレットは、アプリケーションが選択したパレットまたは別のサーフェスのパレットです。
XLATEOBJ 構造体は、ソース パレットを参照するカラー インデックスを変換先パレットのインデックスに変換するために使用されます。 結果のインデックスは、ソースの色にできるだけ近い色を識別します。
要件
要件 | 値 |
---|---|
Header | winddi.h (Winddi.h を含む) |