Bagikan melalui


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
Microsoft DirectX 9.0 dan versi yang lebih baru saja.
Diatur oleh runtime untuk mengarahkan driver untuk menginterpretasikan kembali bendera tertentu di dwFlags dari maknanya di DirectX 8.1 dan versi yang lebih lama. Runtime menggabungkan DDBLT_EXTENDED_FLAGS dengan bendera DDBLT_Xxx menggunakan OR bitwise untuk membuat bendera DDBLT_EXTENDED_Xxx .
DDBLT_EXTENDED_LINEAR_CONTENT
Microsoft DirectX 9.0 dan versi yang lebih baru saja.
Dibuat melalui kombinasi bitwise OR dari DDBLT_EXTENDED_FLAGS dan bit 0x00000004.
Menunjukkan bahwa permukaan sumber berisi konten dalam ruang warna linier. Driver kemudian dapat melakukan koreksi gamma 2.2 (sRGB) ke ruang warna desktop sebagai bagian dari blt.
DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR
Microsoft DirectX 9.0 dan versi yang lebih baru saja.
Hanya sistem operasi berbasis NT.
Dibuat melalui kombinasi bitwise OR dari DDBLT_EXTENDED_FLAGS dan bit 0x00000010.
Atur apakah runtime kemudian menggunakan bendera DDBLT_PRESENTATION dan DDBLT_LAST_PRESENTATION untuk meminta serangkaian operasi stretch-blit karena panggilan Sajikan oleh aplikasi.
Memberi tahu driver tentang seluruh sumber yang tidak terklip dan area persegi panjang tujuan sebelum driver menerima area sub-persegi panjang aktual untuk blit. Dengan cara ini, driver dapat menghitung dan merekam faktor peregangan untuk semua blits berikutnya hingga dan termasuk blit dengan bendera DDBLT_LAST_PRESENTATION diatur. Namun, ketika driver menerima blit dengan bendera DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR diatur, driver tidak boleh menggunakan area persegi panjang yang tidak terklip ini untuk melakukan blitting aktual.
Setelah driver menyelesaikan blit akhir dengan bendera DDBLT_LAST_PRESENTATION diatur, driver harus menghapus catatan faktor peregangan untuk mencegah gangguan dengan blit berikutnya
.
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
DirectX 8.0 dan versi yang lebih baru saja.
Atur jika runtime meminta operasi blit akhir karena panggilan Sajikan oleh aplikasi.
DDBLT_PRESENTATION
DirectX 8.0 dan versi yang lebih baru saja.
Atur jika runtime meminta operasi blit karena panggilan Sajikan oleh aplikasi.
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)

Lihat juga

DdBlt