Bagikan melalui


Fungsi EngGradientFill (winddi.h)

Fungsi EngGradientFill menaungi primitif yang ditentukan.

Sintaks

ENGAPI BOOL EngGradientFill(
       SURFOBJ   *psoDest,
       CLIPOBJ   *pco,
       XLATEOBJ  *pxlo,
       TRIVERTEX *pVertex,
       ULONG     nVertex,
       PVOID     pMesh,
       ULONG     nMesh,
       RECTL     *prclExtents,
       POINTL    *pptlDitherOrg,
  [in] ULONG     ulMode
);

Parameter

psoDest

Arahkan ke struktur SURFOBJ yang mengidentifikasi permukaan untuk menggambar.

pco

Penunjuk ke struktur CLIPOBJ . Rutinitas layanan CLIPOBJ_Xxx disediakan untuk menghitung wilayah klip sebagai satu set persegi panjang. Enumerasi ini membatasi area tujuan yang dimodifikasi. Jika memungkinkan, GDI menyederhanakan kliping yang terlibat.

pxlo

Penunjuk ke struktur XLATEOBJ . Struktur ini menunjukkan bagaimana indeks warna harus diterjemahkan antara format RGB 32 bpp dan tujuan. Driver bertanggung jawab untuk mengonversi nilai warna COLOR16 input ke RGB.

pVertex

Arahkan ke array struktur TRIVERTEX, dengan setiap entri berisi informasi posisi dan warna. Struktur TRIVERTEX dijelaskan dalam dokumentasi Microsoft Windows SDK.

nVertex

Menentukan jumlah struktur TRIVERTEX dalam array tempat pVertex menunjuk .

pMesh

Arahkan ke array struktur yang menentukan konektivitas elemen TRIVERTEX tempat pVertex menunjuk.

Ketika persegi panjang sedang digambar, pMesh menunjuk ke array struktur GRADIENT_RECT, yang masing-masing menentukan dua elemen TRIVERTEX yang menentukan persegi panjang. Elemen TRIVERTEX dapat mewakili sepasang simpul persegi panjang yang berlawanan secara diagonal. Gambar persegi panjang bersifat eksklusif kanan bawah. TRIVERTEX dan GRADIENT_RECT didefinisikan dalam dokumentasi Windows SDK.

Ketika segitiga digambar, pMesh menunjuk ke array struktur GRADIENT_TRIANGLE, yang masing-masing menentukan tiga elemen TRIVERTEX yang menentukan segitiga. Gambar segitiga bersifat eksklusif kanan bawah. Struktur GRADIENT_TRIANGLE ditentukan dalam dokumentasi Windows SDK.

nMesh

Menentukan jumlah elemen dalam array tempat pMesh menunjuk.

prclExtents

Penunjuk ke struktur RECTL yang menentukan area tempat gambar gradien terjadi. Titik ditentukan dalam sistem koordinat permukaan tujuan. Parameter ini berguna dalam memperkirakan ukuran operasi gambar.

pptlDitherOrg

Pointer ke struktur POINTL yang menentukan asal pada permukaan untuk dithering. Piksel kiri atas pola dither selaras dengan titik ini.

[in] ulMode

Menentukan mode gambar saat ini dan cara menginterpretasikan array yang menunjuk pMesh . Parameter ini bisa menjadi salah satu nilai berikut:

GRADIENT_FILL_RECT_H

Parameter pMesh menunjuk ke array struktur GRADIENT_RECT. Setiap persegi panjang akan dibayangi dari kiri ke kanan.

GRADIENT_FILL_RECT_V

Parameter pMesh menunjuk ke array struktur GRADIENT_RECT. Setiap persegi panjang harus dibayangi dari atas ke bawah.

GRADIENT_FILL_TRIANGLE

Parameter pMesh menunjuk ke array struktur GRADIENT_TRIANGLE.

Mengembalikan nilai

EngGradientFill mengembalikan TRUE setelah berhasil. Jika tidak, ia melaporkan kesalahan dan mengembalikan FALSE.

Keterangan

Driver harus memanggil EngGradientFill jika telah menghubungkan DrvGradientFill dan dipanggil untuk melakukan sesuatu yang tidak didukungnya.

Rumus yang digunakan untuk menghitung nilai warna di setiap piksel bergantung pada nilai ulMode sebagai berikut:

GDI mengabaikan nilai alfa simpul, membiarkan saluran alfa tidak berubah untuk permukaan yang mendukung alfa.

Persyaratan

   
Klien minimum yang didukung Tersedia di Windows 2000 dan versi yang lebih baru dari sistem operasi Windows.
Target Platform Universal
Header winddi.h (termasuk Winddi.h)
Pustaka Win32k.lib
DLL Win32k.sys

Lihat juga

DrvGradientFill