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 구조체는 원본 팔레트를 참조하는 색 인덱스를 대상 팔레트의 인덱스로 변환하는 데 사용됩니다. 결과 인덱스는 소스 색과 가능한 한 가깝게 일치하는 색을 식별합니다.
요구 사항 | 값 |
---|---|
헤더 | winddi.h(Winddi.h 포함) |