struktur DD_BLTDATA (ddrawint.h)
Struktur DD_BLTDATA berisi informasi yang relevan dengan driver untuk melakukan transfer blok bit.
Sintaks
typedef struct _DD_BLTDATA {
PDD_DIRECTDRAW_GLOBAL lpDD;
PDD_SURFACE_LOCAL lpDDDestSurface;
RECTL rDest;
PDD_SURFACE_LOCAL lpDDSrcSurface;
RECTL rSrc;
DWORD dwFlags;
DWORD dwROPFlags;
DDBLTFX bltFX;
HRESULT ddRVal;
VOID *Blt;
BOOL IsClipped;
RECTL rOrigDest;
RECTL rOrigSrc;
DWORD dwRectCnt;
LPRECT prDestRects;
DWORD dwAFlags;
DDARGB ddargbScaleFactors;
} *PDD_BLTDATA, DD_BLTDATA;
Anggota
lpDD
Menunjuk ke struktur DD_DIRECTDRAW_GLOBAL yang menjelaskan perangkat driver.
lpDDDestSurface
Menunjuk ke struktur DD_SURFACE_LOCAL yang menggambarkan permukaan tempat blit.
rDest
lpDDSrcSurface
Menunjuk ke struktur DD_SURFACE_LOCAL yang menjelaskan permukaan sumber.
rSrc
dwFlags
Menunjukkan sekumpulan bendera yang menentukan jenis operasi blit yang akan dilakukan dan anggota struktur terkait apa yang memiliki data valid yang harus digunakan driver. Anggota ini adalah bitwise ATAU dari salah satu bendera berikut:
Bendera | Makna |
---|---|
DDBLT_ASYNC | Lakukan blit ini secara asinkron melalui FIFO dalam urutan yang diterima. Jika tidak ada ruang di FIFO perangkat keras, driver harus gagal panggilan dan segera kembali. |
DDBLT_COLORFILL | Gunakan anggota dwFillColor dalam struktur DDBLTFX (didefinisikan dalam dokumentasi Microsoft DirectDraw SDK) sebagai warna RGB untuk mengisi persegi tujuan pada permukaan tujuan. |
DDBLT_DDFX | Gunakan anggota dwDDFX dalam struktur DDBLTFX (didefinisikan dalam dokumentasi DirectDraw SDK) untuk menentukan efek yang akan digunakan untuk blit. |
DDBLT_DDROPS | Bendera ini disediakan untuk penggunaan sistem dan harus diabaikan oleh driver. Driver juga harus mengabaikan anggota dwDDROPS dari struktur DDBLTFX. |
DDBLT_EXTENDED_FLAGS |
|
DDBLT_EXTENDED_LINEAR_CONTENT |
|
DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR |
|
DDBLT_KEYDESTOVERRIDE | Gunakan anggota dckDestColorkey dalam struktur DDBLTFX (didefinisikan dalam dokumentasi DirectDraw SDK) sebagai kunci warna untuk permukaan tujuan. Jika penimpaan tidak diatur, maka dckDestColorkey tidak berisi kunci warna. Driver harus menguji permukaan itu sendiri. |
DDBLT_KEYSRCOVERRIDE | Gunakan anggota dckSrcColorkey dalam struktur DDBLTFX (didefinisikan dalam dokumentasi DirectDraw SDK) sebagai kunci warna untuk permukaan sumber. Jika penimpaan tidak diatur, maka dckDestColorkey tidak berisi kunci warna. Driver harus menguji permukaan itu sendiri. |
DDBLT_LAST_PRESENTATION |
|
DDBLT_PRESENTATION |
|
DDBLT_ROP | Gunakan anggota dwROP dalam struktur DDBLTFX (didefinisikan dalam dokumentasi DirectDraw SDK) untuk operasi raster untuk blit ini. Saat ini, satu-satunya ROP yang diteruskan ke pengemudi adalah SRCCOPY. ROP ini sama dengan yang didefinisikan dalam API Win32. Lihat dokumentasi Microsoft Windows SDK untuk detailnya. |
DDBLT_ROTATIONANGLE | Bendera ini tidak didukung pada Windows 2000 dan yang lebih baru dan harus diabaikan oleh driver. |
DDBLT_WAIT | Jangan segera kembali dengan pesan DDERR_WASSTILLDRAWING jika blitter sibuk--tunggu sampai blit dapat diatur atau kesalahan lain terjadi. |
dwROPFlags
Tidak digunakan pada Windows 2000 dan yang lebih baru dan harus diabaikan oleh driver.
bltFX
#########
#######
ddRVal
Menentukan lokasi di mana driver menulis nilai pengembalian panggilan balik DdBlt . Kode pengembalian DD_OK menunjukkan keberhasilan. Untuk informasi selengkapnya, lihat Mengembalikan Nilai untuk DirectDraw.
Blt
Digunakan oleh API DirectDraw dan tidak boleh diisi oleh driver.
IsClipped
Menunjukkan apakah ini adalah blit terklip. Pada Windows 2000 dan yang lebih baru, anggota ini selalu FALSE, menunjukkan bahwa blit tidak terklip.
rOrigDest
Tidak digunakan untuk Windows 2000 dan yang lebih baru. Menentukan struktur RECTL yang menentukan persegi tujuan yang tidak terklip. Anggota ini hanya valid jika IsClippedTRUE.
rOrigSrc
Tidak digunakan untuk Windows 2000 dan yang lebih baru. Menentukan struktur RECTL yang menentukan persegi sumber yang tidak terklip. Anggota ini hanya valid jika IsClippedTRUE.
dwRectCnt
Tidak digunakan untuk Windows 2000 dan yang lebih baru.Menentukan jumlah persegi panjang tujuan tempat titik prDestRects . Anggota ini hanya valid jika IsClippedTRUE.
prDestRects
Tidak digunakan untuk Windows 2000 dan yang lebih baru. Menunjuk ke array struktur RECTL yang menjelaskan persegi panjang tujuan. Anggota ini hanya valid jika IsClippedTRUE.
dwAFlags
Tidak digunakan dan harus diabaikan oleh driver.
ddargbScaleFactors
Faktor penskalaan ARGB (AlphaBlt)
Keterangan
Untuk informasi selengkapnya tentang bendera DDBLT_PRESENTATION dan DDBLT_LAST_PRESENTATION, lihat Presentasi.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ddrawint.h (termasuk Winddi.h) |