Fungsi DrvStrokeAndFillPath (winddi.h)
Stroke fungsi DrvStrokeAndFillPath (kerangka) dan mengisi jalur secara bersamaan.
Sintaks
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
);
Parameter
[in, out] pso
Penunjuk ke struktur SURFOBJ yang menggambarkan permukaan untuk menggambar.
[in, out] ppo
Penunjuk ke struktur PATHOBJ yang menjelaskan jalur yang akan diisi. Rutinitas layanan PATHOBJ_Xxx disediakan untuk menghitung garis, kurva Bezier, dan data lain yang membentuk jalur.
[in] pco
Penunjuk ke struktur CLIPOBJ . Rutinitas layanan CLIPOBJ_Xxx disediakan untuk menghitung wilayah klip sebagai satu set persegi panjang.
[in, optional] pxo
Penunjuk ke struktur XFORMOBJ yang diperlukan saat garis lebar geometris digambar. Ini menentukan transformasi yang membutuhkan koordinat dunia ke koordinat perangkat. Ini diperlukan karena jalur disediakan dalam koordinat perangkat tetapi garis lebar geometris sebenarnya diperlebar dalam koordinat dunia. XFORMOBJ dapat dikueri untuk mengetahui apa transformasinya.
[in] pboStroke
Arahkan ke struktur BRUSHOBJ yang menentukan kuas yang akan digunakan saat membelai jalur.
[in] plineattrs
Arahkan ke struktur LINEATTRS yang menjelaskan atribut garis yang akan digambar.
[in] pboFill
Arahkan ke struktur BRUSHOBJ yang menentukan kuas yang akan digunakan saat mengisi jalur.
[in] pptlBrushOrg
Pointer ke struktur POINTL yang menentukan asal kuas untuk kedua kuas.
[in] mixFill
Mode campuran yang mendefinisikan operasi raster latar depan dan latar belakang yang akan digunakan untuk kuas. Untuk informasi selengkapnya tentang mode campuran, lihat Keterangan.
[in] flOptions
Menentukan FP_WINDINGMODE, yang berarti bahwa pengisian mode berliku harus dilakukan, atau FP_ALTERNATEMODE, yang berarti bahwa pengisian mode alternatif harus dilakukan. Semua bendera lain harus diabaikan. Untuk informasi selengkapnya tentang mode ini, lihat Mode Pengisian Jalur.
Mengembalikan nilai
Nilai yang dikembalikan adalah TRUE jika driver dapat mengisi jalur. Jika tidak, jika GDI harus mengisi jalur, nilai yang dikembalikan adalah FALSE. Jika terjadi kesalahan, nilai yang dikembalikan DDI_ERROR, dan kode kesalahan dicatat.
Keterangan
Jika garis lebar digunakan untuk membelai, area yang diisi harus dikurangi untuk mengimbangi.
Driver dapat mengembalikan FALSE jika jalur atau kliping terlalu kompleks untuk ditangani perangkat; dalam hal ini, GDI mengonversi ke panggilan yang lebih sederhana. Misalnya, jika driver perangkat telah mengatur bendera GCAPS_BEZIERS di anggota flGraphicsCaps dari struktur DEVINFO dan kemudian menerima jalur dengan kurva Bezier, itu dapat mengembalikan FALSE; GDI kemudian akan mengonversi kurva Bezier menjadi baris dan memanggil DrvStrokeAndFillPath lagi. Jika driver perangkat mengembalikan FALSE lagi, GDI akan lebih menyederhanakan panggilan, melakukan panggilan ke DrvStrokePath dan DrvFillPath, atau ke DrvBitBlt, tergantung pada campuran dan lebar baris yang membentuk jalur.
Mode campuran menentukan bagaimana pola masuk harus dicampur dengan data yang sudah ada di permukaan perangkat. Jenis data MIX terdiri dari dua nilai operasi raster biner (ROP2) yang dikemas ke dalam satu ULONG. Byte urutan terendah mendefinisikan operasi raster latar depan; byte berikutnya mendefinisikan operasi raster latar belakang. Untuk informasi selengkapnya tentang kode operasi raster, lihat dokumentasi Microsoft Windows SDK.
Persyaratan
Target Platform | Desktop |
Header | winddi.h (termasuk Winddi.h) |