struktur DD_FLIPDATA (ddrawint.h)
Struktur DD_FLIPDATA berisi informasi yang diperlukan untuk melakukan flip.
Sintaks
typedef struct _DD_FLIPDATA {
PDD_DIRECTDRAW_GLOBAL lpDD;
PDD_SURFACE_LOCAL lpSurfCurr;
PDD_SURFACE_LOCAL lpSurfTarg;
DWORD dwFlags;
HRESULT ddRVal;
VOID *Flip;
PDD_SURFACE_LOCAL lpSurfCurrLeft;
PDD_SURFACE_LOCAL lpSurfTargLeft;
} *PDD_FLIPDATA, DD_FLIPDATA;
Anggota
lpDD
Menunjuk ke struktur DD_DIRECTDRAW_GLOBAL yang menjelaskan perangkat driver.
lpSurfCurr
Menunjuk ke struktur DD_SURFACE_LOCAL yang menjelaskan permukaan saat ini.
lpSurfTarg
Menunjuk ke struktur DD_SURFACE_LOCAL yang menjelaskan permukaan target; yaitu, permukaan yang harus dibalik pengemudi.
dwFlags
Menunjukkan sekumpulan bendera yang memberikan detail kepada driver untuk membalik. Anggota ini bisa menjadi bitwise ATAU dari bendera berikut:
Bendera | Makna |
---|---|
DDFLIP_DONOTWAIT | Menentukan untuk mengembalikan DDERR_WASSTILLDRAWING jika akselerator sibuk. Defaultnya adalah DDFLIP_WAIT. |
DDFLIP_EVEN | Permukaan yang ditunjukkan anggota lpSurfTarg hanya berisi bidang genap data video. Bendera ini hanya berlaku ketika permukaan adalah overlay, dan saling eksklusif dari DDFLIP_ODD. |
DDFLIP_ODD | Permukaan yang ditunjuk anggota lpSurfTarg hanya berisi bidang data video yang ganjil. Bendera ini hanya berlaku ketika permukaan adalah overlay, dan saling eksklusif dari DDFLIP_EVEN. |
DDFLIP_NOVSYNC | Driver harus melakukan balik dan segera kembali. Biasanya, buffer belakang saat ini (yang dulunya merupakan buffer depan) masih terlihat hingga pelacakan ulang vertikal berikutnya. Operasi berikutnya yang melibatkan permukaan tempat anggota lpSurfCurr dan lpSurfTarg menunjuk tidak memeriksa untuk melihat apakah flip fisik telah selesai. Ini memungkinkan aplikasi untuk melakukan flip pada frekuensi yang lebih tinggi daripada kecepatan refresh monitor, meskipun mungkin memperkenalkan artefak yang terlihat. |
DDFLIP_INTERVAL2 | Pengandar harus melakukan flip pada setiap sinkronisasi vertikal lainnya. Ini harus mengembalikan DDERR_WASSTILLDRAWING sampai jejak vertikal kedua telah terjadi. Bendera ini saling eksklusif dari DDFLIP_INTERVAL3 dan DDFLIP_INTERVAL4. |
DDFLIP_INTERVAL3 | Driver harus melakukan flip pada setiap sinkronisasi vertikal ketiga. Ini harus mengembalikan DDERR_WASSTILLDRAWING sampai jejak vertikal ketiga telah terjadi. Bendera ini saling eksklusif dari DDFLIP_INTERVAL2 dan DDFLIP_INTERVAL4. |
DDFLIP_INTERVAL4 | Driver harus melakukan flip pada setiap sinkronisasi vertikal keempat. Ini harus mengembalikan DDERR_WASSTILLDRAWING sampai jejak vertikal keempat telah terjadi. Bendera ini saling eksklusif dari DDFLIP_INTERVAL2 dan DDFLIP_INTERVAL3. |
DDFLIP_STEREO | Menentukan untuk mengaktifkan autoflipping stereo (perangkat keras secara otomatis membalik antara buffer kiri dan kanan selama setiap refresh layar). |
DDFLIP_WAIT | Menentukan untuk tidak mengembalikan sampai terjadi flip atau kesalahan. |
ddRVal
Menentukan lokasi di mana driver menulis nilai pengembalian panggilan balik DdFlip . Kode pengembalian DD_OK menunjukkan keberhasilan. Untuk informasi selengkapnya, lihat Mengembalikan Nilai untuk DirectDraw.
Flip
Digunakan oleh Microsoft DirectDraw API dan tidak boleh diisi oleh driver.
lpSurfCurrLeft
Menunjuk ke struktur DD_SURFACE_LOCAL yang menjelaskan permukaan kiri saat ini.
lpSurfTargLeft
Menunjuk ke struktur DD_SURFACE_LOCAL yang menjelaskan permukaan target kiri untuk di balikkan.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ddrawint.h (termasuk Winddi.h) |