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) |