Struktur PATHOBJ (winddi.h)

Struktur PATHOBJ digunakan untuk menggambarkan sekumpulan garis dan kurva Bezier yang akan dikategorikan atau diisi.

Sintaks

typedef struct _PATHOBJ {
  FLONG fl;
  ULONG cCurves;
} PATHOBJ;

Anggota

fl

Sekumpulan bendera petunjuk yang menjelaskan jalur. Anggota ini adalah bitwise OR (dengan batasan tertentu) dari nilai berikut:

Bendera Deskripsi
PO_ALL_INTEGERS Puncak jalur memiliki koordinat bilangan bulat tanpa bagian pecahan. Bendera ini dimaksudkan terutama sebagai akselerator sehingga driver dapat menggunakan jalur cepat all-integer yang lebih sederhana.

Selain itu, ketika GDI menetapkan bendera ini, driver diizinkan untuk menyimpang sedikit dari konvensi GDI Grid Intersection Quantization (GIQ) sistem operasi berbasis NT standar yang menentukan aturan rasterisasi untuk garis. Secara khusus, ketika PO_ALL_INTEGERS diatur, driver dapat memilih aturannya sendiri di mana piksel harus menyala dalam kasus pemecah dasi di mana garis secara logis berada tepat di antara dua piksel. Biasanya, bendera ini memungkinkan driver untuk menggunakan kemampuan menggambar garis titik-ke-titik perangkat keras bahkan ketika perangkat keras memiliki aturan tie-breaker yang berbeda dari GIQ.

GDI mengatur bendera ini hanya untuk garis tebal yang lebarnya satu piksel. Selain itu, GDI mengatur bendera ini hanya jika mode grafis konteks perangkat diatur ke GM_COMPATIBLE. Untuk informasi selengkapnya tentang mengatur mode grafik, lihat SetGraphicsMode dalam dokumentasi Microsoft Window SDK.

PO_BEZIERS Jalur ini berisi kurva Bezier. GDI hanya menetapkan salah satu PO_BEZIERS atau PO_ELLIPSE dalam anggota fl .
PO_ELLIPSE Jalur tersebut terdiri dari satu elips yang tertulis dalam persegi panjang pembatas jalur. GDI hanya menetapkan salah satu PO_BEZIERS atau PO_ELLIPSE dalam anggota fl .
PO_ENUM_AS_INTEGERS Driver dapat meminta agar simpul yang dikembalikan dari PATHOBJ_bEnum dinyatakan dalam format bilangan bulat 32-bit daripada format standar 28.4. Driver membuat permintaan ini oleh ORing PO_ENUM_AS_INTEGERS ke anggota fl dari PATHOBJ yang diberikan sebelum memanggil PATHOBJ_bEnum.

Driver hanya dapat mengatur PO_ENUM_AS_INTEGERS ketika GDI telah mengatur bendera PO_ALL_INTEGERS. Artinya, jalur harus diketahui hanya berisi koordinat bilangan bulat. Perhatikan bahwa PO_ENUM_AS_INTEGERS adalah satu-satunya bendera yang diizinkan untuk dimodifikasi oleh driver.

Ketika bendera ini diatur, driver diizinkan untuk menyimpang sedikit dari konvensi GIQ standar yang menentukan aturan rasterisasi untuk garis. Secara khusus, ketika PO_ENUM_ALL_INTEGERS diatur, driver dapat memilih aturannya sendiri yang pikselnya harus dinyalakan dalam kasus pemecah dasi di mana garis secara logis berada tepat di antara dua piksel. Biasanya, bendera ini memungkinkan driver untuk menggunakan kemampuan menggambar garis titik-ke-titik perangkat keras bahkan ketika perangkat keras memiliki aturan tie-breaker yang berbeda dari GIQ.

cCurves

Jumlah garis dan kurva Bezier yang membentuk jalur.

Keterangan

Fungsi yang terkait dengan struktur ini memungkinkan garis dan kurva dijumlahkan untuk driver.

Rutinitas layanan GDI berikut disediakan untuk objek PATHOBJ:

PATHOBJ_bCloseFigure
PATHOBJ_bEnum
PATHOBJ_bEnumClipLines
PATHOBJ_bMoveTo
PATHOBJ_bPolyBezierTo
PATHOBJ_bPolyLineTo
PATHOBJ_vEnumStart
PATHOBJ_vEnumStartClipLines
PATHOBJ_vGetBounds

Persyaratan

Persyaratan Nilai
Header winddi.h (termasuk Winddi.h)

Lihat juga

DrvFillPath

DrvStrokeAndFillPath

DrvStrokePath

EngCreatePath

EngDeletePath