다음을 통해 공유


DrvStrokeAndFillPath 함수(winddi.h)

DrvStrokeAndFillPath 함수는 경로를 동시에 스트로크(윤곽선)하고 채웁니다.

구문

BOOL DrvStrokeAndFillPath(
  [in, out]      SURFOBJ   *pso,
  [in, out]      PATHOBJ   *ppo,
  [in]           CLIPOBJ   *pco,
  [in, optional] XFORMOBJ  *pxo,
  [in]           BRUSHOBJ  *pboStroke,
  [in]           LINEATTRS *plineattrs,
  [in]           BRUSHOBJ  *pboFill,
  [in]           POINTL    *pptlBrushOrg,
  [in]           MIX       mixFill,
  [in]           FLONG     flOptions
);

매개 변수

[in, out] pso

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

[in, out] ppo

채울 경로를 설명하는 PATHOBJ 구조체에 대한 포인터입니다. PATHOBJ_Xxx 서비스 루틴은 경로를 구성하는 선, 베지어 곡선 및 기타 데이터를 열거하기 위해 제공됩니다.

[in] pco

CLIPOBJ 구조체에 대한 포인터입니다. 클립 영역을 사각형 집합으로 열거하기 위해 CLIPOBJ_Xxx 서비스 루틴이 제공됩니다.

[in, optional] pxo

기하학적 와이드 선을 그릴 때 필요한 XFORMOBJ 구조체에 대한 포인터입니다. 월드 좌표를 디바이스 좌표로 사용하는 변환을 지정합니다. 이는 경로가 디바이스 좌표로 제공되지만 기하학적 와이드 라인이 실제로 월드 좌표에서 확장되기 때문에 필요합니다. XFORMOBJ를 쿼리하여 변환이 무엇인지 확인할 수 있습니다.

[in] pboStroke

경로를 쓰다듬을 때 사용할 브러시를 지정하는 BRUSHOBJ 구조체에 대한 포인터입니다.

[in] plineattrs

그릴 선의 특성을 설명하는 LINEATTRS 구조체에 대한 포인터입니다.

[in] pboFill

경로를 채울 때 사용할 브러시를 지정하는 BRUSHOBJ 구조체에 대한 포인터입니다.

[in] pptlBrushOrg

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

[in] mixFill

브러시에 사용할 전경 및 배경 래스터 작업을 정의하는 혼합 모드입니다. 혼합 모드에 대한 자세한 내용은 비고를 참조하세요.

[in] flOptions

권선 모드 채우기를 수행해야 한다는 의미의 FP_WINDINGMODE 지정하거나 FP_ALTERNATEMODE 지정합니다. 즉, 교대 모드 채우기가 수행되어야 합니다. 다른 모든 플래그는 무시해야 합니다. 이러한 모드에 대한 자세한 내용은 경로 채우기 모드를 참조하세요.

반환 값

드라이버가 경로를 채울 수 있는 경우 반환 값은 TRUE 입니다. 그렇지 않으면 GDI가 경로를 대신 채워야 하는 경우 반환 값은 FALSE입니다. 오류가 발생하면 반환 값이 DDI_ERROR 오류 코드가 기록됩니다.

설명

와이드 라인이 쓰다듬는 데 사용되는 경우 보정을 위해 채워진 영역을 줄여야 합니다.

경로 또는 클리핑이 너무 복잡하여 디바이스에서 처리할 수 없는 경우 드라이버는 FALSE 를 반환할 수 있습니다. 이 경우 GDI는 더 간단한 호출로 변환됩니다. 예를 들어 디바이스 드라이버가 DEVINFO 구조체의 flGraphicsCaps 멤버에서 GCAPS_BEZIERS 플래그를 설정한 다음 베지어 곡선이 있는 경로를 받으면 FALSE를 반환할 수 있습니다. 그런 다음 GDI는 베지어 곡선을 선으로 변환하고 DrvStrokeAndFillPath를 다시 호출합니다. 디바이스 드라이버가 FALSE 를 다시 반환하는 경우 GDI는 경로를 구성하는 선의 혼합 및 너비에 따라 DrvStrokePathDrvFillPath 또는 DrvBitBlt를 호출하여 호출을 더욱 간소화합니다.

혼합 모드는 들어오는 패턴을 디바이스 화면에 이미 있는 데이터와 혼합하는 방법을 정의합니다. MIX 데이터 형식은 단일 ULONG으로 압축된 두 개의 ROP2(이진 래스터 작업) 값으로 구성됩니다. 가장 낮은 순서의 바이트는 전경 래스터 작업을 정의합니다. 다음 바이트는 백그라운드 래스터 작업을 정의합니다. 래스터 작업 코드에 대한 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.

요구 사항

   
대상 플랫폼 데스크톱
머리글 winddi.h(Winddi.h 포함)

추가 정보

CLIPOBJ

DrvBitBlt

DrvFillPath

DrvStrokePath

LINEATTRS

PATHOBJ

SURFOBJ

XFORMOBJ