Struktur LAYERPLANEDESCRIPTOR (wingdi.h)
Struktur LAYERPLANEDESCRIPTOR menjelaskan format piksel permukaan gambar.
Sintaks
typedef struct tagLAYERPLANEDESCRIPTOR {
WORD nSize;
WORD nVersion;
DWORD dwFlags;
BYTE iPixelType;
BYTE cColorBits;
BYTE cRedBits;
BYTE cRedShift;
BYTE cGreenBits;
BYTE cGreenShift;
BYTE cBlueBits;
BYTE cBlueShift;
BYTE cAlphaBits;
BYTE cAlphaShift;
BYTE cAccumBits;
BYTE cAccumRedBits;
BYTE cAccumGreenBits;
BYTE cAccumBlueBits;
BYTE cAccumAlphaBits;
BYTE cDepthBits;
BYTE cStencilBits;
BYTE cAuxBuffers;
BYTE iLayerPlane;
BYTE bReserved;
COLORREF crTransparent;
} LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;
Anggota
nSize
Menentukan ukuran struktur data ini. Atur nilai ini ke sizeof(LAYERPLANEDESCRIPTOR).
nVersion
Menentukan versi struktur data ini. Atur nilai ini ke 1.
dwFlags
Sekumpulan bendera bit yang menentukan properti bidang lapisan. Properti umumnya tidak saling eksklusif; setiap kombinasi bendera bit dapat diatur, dengan pengecualian yang dicatat. Konstanta bendera bit berikut ditentukan.
Nilai | Makna |
---|---|
LPD_SUPPORT_OPENGL | Bidang lapisan mendukung gambar OpenGL. |
LPD_SUPPORT_GDI | Bidang lapisan mendukung gambar GDI. Implementasi OpenGL saat ini tidak mendukung bendera ini. |
LPD_DOUBLEBUFFER | Bidang lapisan di-buffer ganda. Bidang lapisan dapat di-buffer ganda bahkan ketika bidang utama di-buffer tunggal dan sebaliknya. |
LPD_STEREO | Bidang lapisan adalah stereoskopis. Bidang lapisan dapat menjadi stereoskopis bahkan ketika bidang utama monoskopis dan sebaliknya. |
LPD_SWAP_EXCHANGE | Dalam bidang lapisan buffer ganda, menukar buffer warna bertukar konten buffer depan dan buffer belakang. Buffer belakang kemudian berisi konten buffer depan sebelum pertukaran. Bendera ini hanya merupakan petunjuk dan mungkin tidak disediakan oleh driver. |
LPD_SWAP_COPY | Dalam bidang lapisan buffer ganda, menukar buffer warna menyalin konten buffer belakang ke buffer depan. Pertukaran tidak memengaruhi konten buffer belakang. Bendera ini hanya merupakan petunjuk dan mungkin tidak disediakan oleh driver. |
LPD_TRANSPARENT | Anggota crTransparent dari struktur ini berisi warna transparan atau nilai indeks yang memungkinkan lapisan yang mendasar ditampilkan melalui lapisan ini. Semua bidang lapisan, kecuali lapisan underlay bernomor terendah, memiliki warna atau indeks transparan. |
LPD_SHARE_DEPTH | Bidang lapisan berbagi buffer kedalaman dengan bidang utama. |
LPD_SHARE_STENCIL | Bidang lapisan berbagi buffer stensil dengan bidang utama. |
LPD_SHARE_ACCUM | Bidang lapisan berbagi buffer akumulasi dengan bidang utama. |
iPixelType
Menentukan jenis data piksel. Jenis berikut ditentukan.
Nilai | Makna |
---|---|
LPD_TYPE_RGBA | Piksel RGBA. Setiap piksel memiliki empat komponen: merah, hijau, biru, dan alfa. |
LPD_TYPE_COLORINDEX | Piksel indeks warna. Setiap piksel menggunakan nilai indeks warna. |
cColorBits
Menentukan jumlah bitplanes warna di setiap buffer warna. Untuk jenis piksel RGBA, ini adalah ukuran buffer warna, tidak termasuk bitplanes alfa. Untuk piksel indeks warna, ini adalah ukuran buffer indeks warna.
cRedBits
Menentukan jumlah bitplanes merah di setiap buffer warna RGBA.
cRedShift
Menentukan jumlah shift untuk bitplane merah di setiap buffer warna RGBA.
cGreenBits
Menentukan jumlah bitplanes hijau di setiap buffer warna RGBA.
cGreenShift
Menentukan jumlah shift untuk bitplane hijau di setiap buffer warna RGBA.
cBlueBits
Menentukan jumlah bitplanes biru di setiap buffer warna RGBA.
cBlueShift
Menentukan jumlah shift untuk bitplanes biru di setiap buffer warna RGBA.
cAlphaBits
Menentukan jumlah bitplanes alfa di setiap buffer warna RGBA. Bitplanes alpha tidak didukung.
cAlphaShift
Menentukan jumlah shift untuk bitplanes alfa di setiap buffer warna RGBA. Bitplanes alpha tidak didukung.
cAccumBits
Menentukan jumlah total bitplanes dalam buffer akumulasi.
cAccumRedBits
Menentukan jumlah bitplanes merah dalam buffer akumulasi.
cAccumGreenBits
Menentukan jumlah bitplanes hijau dalam buffer akumulasi.
cAccumBlueBits
Menentukan jumlah bitplanes biru dalam buffer akumulasi.
cAccumAlphaBits
Menentukan jumlah bitplanes alfa dalam buffer akumulasi.
cDepthBits
Menentukan kedalaman buffer kedalaman (sumbu z).
cStencilBits
Menentukan kedalaman buffer stensil.
cAuxBuffers
Menentukan jumlah buffer tambahan. Buffer tambahan tidak didukung.
iLayerPlane
bReserved
Tidak digunakan. Harus nol.
crTransparent
Saat bendera LPD_TRANSPARENT diatur, menentukan warna transparan atau nilai indeks. Biasanya nilainya adalah nol.
Keterangan
Harap perhatikan, seperti yang di dokumentasikan di atas, bahwa properti bidang lapisan tertentu tidak didukung dalam implementasi saat ini. Implementasinya adalah implementasi perangkat lunak Microsoft GDI dari OpenGL. Produsen perangkat keras yang meningkatkan bagian OpenGL dapat mendukung beberapa properti bidang lapisan yang tidak didukung oleh implementasi generik.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Header | wingdi.h |