IPrintOemDriverUni::D rvUniTextOut 메서드(prcomoem.h)

메서드는 IPrintOemDriverUni::DrvUniTextOut Unidrv 드라이버에서 제공되므로 디바이스 관리 드로잉 화면을 사용하는 렌더링 플러그 인이 텍스트 문자열을 쉽게 출력할 수 있습니다.

구문

HRESULT DrvUniTextOut(
  SURFOBJ  *pso,
  STROBJ   *pstro,
  FONTOBJ  *pfo,
  CLIPOBJ  *pco,
  RECTL    *prclExtra,
  RECTL    *prclOpaque,
  BRUSHOBJ *pboFore,
  BRUSHOBJ *pboOpaque,
  POINTL   *pptlBrushOrg,
  MIX      mix
);

매개 변수

pso

쓸 표면을 설명하는 SURFOBJ 구조체에 대한 포인터입니다.

pstro

렌더링할 문자 모양과 배치할 위치를 정의하는 STROBJ 구조체에 대한 포인터입니다.

pfo

글꼴 및 해당 문자 모양에 대한 정보를 검색할 FONTOBJ 구조체에 대한 포인터입니다.

pco

모든 렌더링을 수행해야 하는 클립 영역을 정의하는 CLIPOBJ 구조체에 대한 포인터입니다. 드라이버는 클립 영역 외부의 픽셀에 영향을 줄 수 없습니다.

prclExtra

RECTL 구조체에 대한 포인터입니다. GDI는 이 함수에 대한 호출에서 항상 이 매개 변수를 NULL 로 설정합니다. 드라이버에서 무시해야 합니다.

prclOpaque

단일 불투명 사각형을 나타내는 RECTL 구조체에 대한 포인터입니다. 이 사각형은 오른쪽 아래 전용입니다. 이 사각형 내의 픽셀(전경이 아니고 잘리지 않은 픽셀)은 불투명 브러시로 렌더링되어야 합니다. 이 사각형은 항상 그릴 텍스트의 경계를 지정합니다. 이 매개 변수가 NULL이면 불투명 픽셀을 렌더링할 수 없습니다.

pboFore

전경 픽셀에 사용할 브러시 개체를 나타내는 BRUSHOBJ 구조체에 대한 포인터입니다. 이 브러시는 항상 단색 브러시입니다.

pboOpaque

불투명 픽셀을 나타내는 BRUSHOBJ 구조체에 대한 포인터입니다. 이 브러시의 전경 및 배경 혼합 모드는 모두 R2_COPYPEN 것으로 간주됩니다. 드라이버가 DEVINFO 구조체의 flGraphicsCaps 멤버에서 GCAPS_ARBRUSHOPAQUE 기능 비트를 설정하지 않는 한 항상 단색 브러시로 호출됩니다.

pptlBrushOrg

두 브러시의 브러시 원점을 정의하는 POINTL 구조체에 대한 포인터입니다.

mix

pboFore에 대한 전경 및 배경 래스터 작업(혼합 모드)입니다.

반환 값

메서드는 다음 값 중 하나를 반환해야 합니다.

반환 코드 Description
S_OK
작업에 성공했습니다.
E_FAIL
작업이 실패했습니다.
E_NOTIMPL
메서드가 구현되지 않았습니다.

설명

메서드는 IPrintOemDriverUni::DrvUniTextOut 장치 관리 드로잉 화면을 지원하는 플러그 인을 렌더링하여 사용할 수 있도록 Unidrv에서 제공합니다. 이러한 렌더링 플러그 인은 Unidrv의 DrvTextOut 함수를 후크해야 하며 IPrintOemDriverUni::DrvUniTextOut 메서드는 해당 후킹 함수에서 호출되어야 합니다. 후킹 함수는 텍스트 영역 클리핑 및 텍스트 회전 작업을 수행해야 합니다. 그런 다음 를 호출 IPrintOemDriverUni::DrvUniTextOut 하여 Unidrv를 요청하여 다운로드 가능한 글꼴을 사용하여 텍스트 문자열을 만들고 문자 모양 기반 클리핑을 수행할 수 있습니다.

글꼴을 사용할 수 없거나 회전되어 텍스트 문자열을 만들 수 없는 경우 IPrintOemDriverUni::DrvUniTextOut 렌더링 플러그 인의 IPrintOemUni::TextOutAsBitmap 메서드를 호출하여 텍스트 문자열을 비트맵으로 그립니다.

자세한 내용은 Device-Managed Surface 처리를 참조하세요.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 prcomoem.h(Prcomoem.h 포함)