EngTextOut 함수를 사용하면 GDI가 지정된 위치에서 문자 모양 집합을 렌더링합니다.
구문
ENGAPI BOOL EngTextOut(
SURFOBJ *pso,
STROBJ *pstro,
FONTOBJ *pfo,
CLIPOBJ *pco,
RECTL *prclExtra,
RECTL *prclOpaque,
BRUSHOBJ *pboFore,
BRUSHOBJ *pboOpaque,
POINTL *pptlOrg,
[in] MIX mix
);
매개 변수
pso
쓸 표면을 설명하는 SURFOBJ 구조체에 대한 포인터입니다.
pstro
렌더링할 문자 모양과 배치할 위치를 정의하는 STROBJ 구조체에 대한 포인터입니다.
pfo
글꼴 및 문자 모양에 대한 정보를 검색하는 데 사용되는 FONTOBJ 구조체에 대한 포인터입니다.
pco
렌더링을 수행해야 하는 클립 영역을 정의하는 CLIPOBJ 구조체에 대한 포인터입니다. 이 클립 영역 외부에는 픽셀이 영향을 받을 수 없습니다.
prclExtra
RECTL 구조체에 대한 포인터입니다. 이 매개 변수는 항상 NULL이어야 합니다.
prclOpaque
오른쪽 아래에 배타적인 단일 불투명 사각형을 식별하는 RECTL 구조체에 대한 포인터입니다. 이 사각형 내의 픽셀(전경이 아니고 잘리지 않은 픽셀)은 불투명 브러시로 렌더링되어야 합니다. 이 사각형은 항상 그릴 텍스트를 경계로 합니다. 이 매개 변수가 NULL이면 불투명 픽셀을 렌더링할 수 없습니다.
pboFore
전경 픽셀에 사용할 brush 개체를 나타내는 BRUSHOBJ 구조체에 대한 포인터입니다. 이 브러시는 항상 단색 브러시입니다.
pboOpaque
불투명 픽셀의 brush 개체를 나타내는 BRUSHOBJ 구조체에 대한 포인터입니다. 이 브러시의 전경 및 배경 혼합 모드는 모두 R2_COPYPEN 것으로 간주됩니다. 드라이버가 DEVINFO 구조체의 flGraphicsCaps 멤버에서 GCAPS_ARBRUSHOPAQUE 기능 비트를 설정하지 않는 한 항상 단색 브러시로 호출됩니다.
pptlOrg
두 브러시의 브러시 원점을 정의하는 POINTL 구조체에 대한 포인터입니다. EngTextOut이 호출되면 이 매개 변수가 0으로 설정되면 일부 프린터 드라이버에서 색 이미지를 잘못 인쇄할 수 있습니다. 자세한 내용은 비고를 참조하세요.
[in] mix
pboFore에 대한 전경 및 배경 래스터 작업(혼합 모드)을 지정합니다.
반환 값
함수가 성공하면 반환 값은 TRUE 입니다. 그렇지 않으면 FALSE이고 오류 코드가 기록됩니다.
설명
드라이버가 DrvTextOut을 후크하고 문자 모양을 렌더링할 수 없는 경우 EngTextOut을 호출해야 합니다.
이 함수의 pptlOrg 매개 변수를 0으로 설정하면 일부 프린터 드라이버가 Microsoft Windows Server 2003(일본어 버전)에서 색 이미지를 잘못 인쇄합니다. pptlOrg를 NULL 포인터 값인 0으로 설정하면 브러시 원점이 정의되지 않음을 의미하는 것으로 해석됩니다. 이 문제를 방지하려면 EngTextOut 호출 전에 멤버가 (0,0)로 설정된 POINTL 구조체의 주소를 사용하여 pptlOrg를 초기화합니다.
전경 및 불투명 픽셀은 색이 표면에 브러시되는 화면으로 간주됩니다. 글꼴의 문자 모양 자체에 색이 없습니다.
EngTextOut에 대한 입력 매개 변수는 문자 모양 픽셀 집합, 추가 사각형 집합, 불투명 사각형 및 클립 영역을 정의합니다. 드라이버는 전경 및 불투명 픽셀 집합을 계산한 다음 렌더링해야 합니다.
혼합 모드는 들어오는 패턴을 디바이스 표면에 이미 있는 데이터와 혼합하는 방법을 정의합니다. MIX 데이터 형식은 단일 ULONG으로 압축된 두 개의 ROP2 값으로 구성됩니다. 하위 바이트는 전경 래스터 작업을 정의합니다. 다음 바이트는 백그라운드 래스터 작업을 정의합니다. 래스터 작업 코드에 대한 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.
요구 사항
| 지원되는 최소 클라이언트 | Windows 2000 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
| 대상 플랫폼 | 유니버설 |
| 헤더 | winddi.h(Winddi.h 포함) |
| 라이브러리 | Win32k.lib |
| DLL | Win32k.sys |