PATHOBJ 구조체(winddi.h)
PATHOBJ 구조체는 스트로크하거나 채울 선 및 베지어 곡선 집합을 설명하는 데 사용됩니다.
구문
typedef struct _PATHOBJ {
FLONG fl;
ULONG cCurves;
} PATHOBJ;
멤버
fl
경로를 설명하는 힌트 플래그 집합입니다. 이 멤버는 다음 값의 비트 OR(특정 제한 사항 포함)입니다.
플래그 | 설명 |
---|---|
PO_ALL_INTEGERS |
경로의 꼭짓점에는 소수 부분이 없는 정수 좌표가 있습니다. 이 플래그는 드라이버가 더 간단한 정수 빠른 경로를 사용할 수 있도록 주로 액셀러레이터로 사용됩니다.
또한 GDI가 이 플래그를 설정할 때 드라이버는 선에 대한 래스터화 규칙을 지시하는 표준 NT 기반 운영 체제 GDI Grid GIQ(교집합 양자화) 규칙에서 약간 벗어날 수 있습니다. 특히 PO_ALL_INTEGERS 설정된 경우 드라이버는 선이 논리적으로 두 픽셀 사이에 정확히 떨어지는 타이 브레이커 케이스에서 픽셀을 켜야 하는 자체 규칙을 선택할 수 있습니다. 일반적으로 이 플래그를 사용하면 하드웨어에 GIQ와 다른 타이 브레이커 규칙이 있는 경우에도 드라이버에서 하드웨어 지점 간 선 그리기 기능을 사용할 수 있습니다. GDI는 너비가 1픽셀인 실선에 대해서만 이 플래그를 설정합니다. 또한 GDI는 디바이스 컨텍스트의 그래픽 모드가 GM_COMPATIBLE 설정된 경우에만 이 플래그를 설정합니다. 그래픽 모드 설정에 대한 자세한 내용은 Microsoft Window SDK 설명서의 SetGraphicsMode 를 참조하세요. |
PO_BEZIERS | 경로에는 베지어 곡선이 포함됩니다. GDI는 fl 멤버의 PO_BEZIERS 또는 PO_ELLIPSE 중 하나만 설정합니다. |
PO_ELLIPSE | 경로는 경로의 경계 사각형에 새겨진 단일 타원으로 구성됩니다. GDI는 fl 멤버의 PO_BEZIERS 또는 PO_ELLIPSE 중 하나만 설정합니다. |
PO_ENUM_AS_INTEGERS |
드라이버는 PATHOBJ_bEnum 반환된 꼭짓점이 표준 28.4 형식이 아닌 32비트 정수 형식으로 표현되도록 요청할 수 있습니다. 드라이버는 PATHOBJ_bEnum 호출하기 전에 ORing PO_ENUM_AS_INTEGERS 지정된 PATHOBJ의 fl 멤버로 이 요청을 수행합니다.
드라이버는 GDI가 PO_ALL_INTEGERS 플래그를 설정한 경우에만 PO_ENUM_AS_INTEGERS 설정할 수 있습니다. 즉, 정수 좌표만 포함하도록 경로를 알고 있어야 합니다. PO_ENUM_AS_INTEGERS 드라이버가 수정할 수 있는 유일한 플래그입니다. 이 플래그가 설정되면 드라이버는 줄에 대한 래스터화 규칙을 지시하는 표준 GIQ 규칙에서 약간 벗어날 수 있습니다. 특히 PO_ENUM_ALL_INTEGERS 설정된 경우 드라이버는 선이 논리적으로 두 픽셀 사이에 정확히 떨어지는 타이 브레이커 케이스에서 픽셀을 켜야 하는 자체 규칙을 선택할 수 있습니다. 일반적으로 이 플래그를 사용하면 하드웨어에 GIQ와 다른 타이 브레이커 규칙이 있는 경우에도 드라이버에서 하드웨어 지점 간 선 그리기 기능을 사용할 수 있습니다. |
cCurves
경로를 구성하는 선 및 베지어 곡선의 수입니다.
설명
이 구조체와 연결된 함수를 사용하면 드라이버에 대해 선과 곡선을 열거할 수 있습니다.
PATHOBJ 개체에 대해 제공되는 GDI 서비스 루틴은 다음과 같습니다.
- PATHOBJ_bCloseFigure
- PATHOBJ_bEnum
- PATHOBJ_bEnumClipLines
- PATHOBJ_bMoveTo
- PATHOBJ_bPolyBezierTo
- PATHOBJ_bPolyLineTo
- PATHOBJ_vEnumStart
- PATHOBJ_vEnumStartClipLines
- PATHOBJ_vGetBounds
요구 사항
요구 사항 | 값 |
---|---|
헤더 | winddi.h(Winddi.h 포함) |