Struktur DEVINFO (winddi.h)
Struktur DEVINFO menyediakan informasi tentang driver dan PDEV privatnya ke mesin grafis.
Sintaks
typedef struct tagDEVINFO {
FLONG flGraphicsCaps;
LOGFONTW lfDefaultFont;
LOGFONTW lfAnsiVarFont;
LOGFONTW lfAnsiFixFont;
ULONG cFonts;
ULONG iDitherFormat;
USHORT cxDither;
USHORT cyDither;
HPALETTE hpalDefault;
FLONG flGraphicsCaps2;
} DEVINFO, *PDEVINFO;
Anggota
flGraphicsCaps
Adalah sekumpulan bendera yang menggambarkan kemampuan grafis driver grafis dan/atau perangkat kerasnya. Bendera ini ditentukan dalam tabel berikut.
Bendera | Definisi |
---|---|
GCAPS_ALTERNATEFILL | Menangani isian bergantian. |
GCAPS_ARBRUSHOPAQUE | Mendukung kuas arbitrer untuk persegi panjang buram teks (warna latar belakang). |
GCAPS_ARBRUSHTEXT | Mendukung kuas arbitrer untuk warna latar depan teks. |
GCAPS_ASYNCCHANGE | Bendera ini usang. Dalam driver warisan, bendera ini menunjukkan bahwa driver dapat mengubah bentuk pointer di perangkat keras sementara gambar lain terjadi pada perangkat. |
GCAPS_ASYNCMOVE | Pengandar dapat memindahkan penunjuk pada piranti keras ketika gambar lainnya sedang terjadi pada perangkat. |
GCAPS_BEZIERS | Menangani kurva Bezier. |
GCAPS_CMYKCOLOR | Driver mendukung ruang warna CYMK. |
GCAPS_COLOR_DITHER | Menangani warna dithering ke permukaan yang kompatibel dengan PDEV. |
GCAPS_DIRECTDRAW | Bendera ini usang. |
GCAPS_DITHERONREALIZE | Menentukan bahwa GDI dapat memanggil DrvRealizeBrush dengan RGB untuk diterbangkan secara langsung. |
GCAPS_DONTJOURNAL | Melarang pencetakan metafile ke pengandar pencetak ini. Ini hanya berlaku untuk DC printer dan umumnya akan menghasilkan waktu kembali ke aplikasi yang lebih lambat saat mencetak. |
GCAPS_FONT_RASTERIZER | Perangkat keras perangkat dapat memerkosterisasi font TrueType. |
GCAPS_FORCEDITHER | Memungkinkan dithering pada semua pena geometris. |
GCAPS_GEOMETRICWIDE | Menangani pelebaran geometrik. |
GCAPS_GRAY16 | Menangani teks yang diantisipasi secara asli. |
GCAPS_HALFTONE | Menangani halftoning. |
GCAPS_HIGHRESTEXT | Bendera ini usang. Dalam driver warisan, bendera ini menunjukkan bahwa driver meminta posisi glyph seperti yang dikembalikan oleh STROBJ dalam koordinat titik PERBAIKAN. |
GCAPS_HORIZSTRIKE | Bendera ini usang. Dalam driver warisan, bendera ini menunjukkan bahwa driver menangani strikeout horizontal di DrvTextOut. |
GCAPS_ICM | Menunjukkan bahwa operasi manajemen warna dapat dilakukan oleh driver atau perangkat keras printer. |
GCAPS_LAYERED | Menunjukkan bahwa ini adalah driver lapisan atau cermin untuk jarak jauh. Pengandar pencetak tidak boleh berupa pengandar lapisan. |
GCAPS_MONO_DITHER | Menangani dithering monokrom. |
GCAPS_NO64BITMEMACCESS | Bendera ini usang. |
GCAPS_NUP | Menunjukkan bahwa pencetakan "N-up" didukung. |
GCAPS_OPAQUERECT | Menangani persegi panjang buram di DrvTextOut. |
GCAPS_PALMANAGED | Mendukung manajemen palet. |
GCAPS_PANNING | Ketika GDI mensimulasikan penunjuk, GDI harus memanggil DrvMovePointer untuk memberi tahu driver tentang posisi kursor saat ini. Ini memungkinkan driver untuk menangani tampilan virtual panning. |
GCAPS_SCREENPRECISION | Rasterizer (mesin font) harus memilih font layar (lunak) di atas font perangkat ketika memilih font yang tidak ada kecocokan yang tepat. |
GCAPS_VECTORFONT | Menangani membelai font vektor di DrvTextOut. |
GCAPS_VERTSTRIKE | Bendera ini usang. Dalam driver warisan, bendera ini menunjukkan bahwa driver menangani strikeout vertikal di DrvTextOut. |
GCAPS_WINDINGFILL | Menangani isian mode berliku. Lihat Mode Isian Jalur untuk informasi selengkapnya. |
GCAPS2_REMOTEDRIVER | Menunjukkan bahwa driver tampilan digunakan untuk mendukung sesi pengguna jarak jauh. |
lfDefaultFont
Adalah struktur Font Logis Diperluas yang menentukan font default untuk perangkat. Untuk informasi selengkapnya tentang struktur ini, lihat EXTLOGFONT dalam dokumentasi Microsoft Windows SDK.
lfAnsiVarFont
Adalah struktur Font Logis Diperluas yang menentukan font variabel-pitch default untuk perangkat. Untuk informasi selengkapnya tentang struktur ini, lihat EXTLOGFONT dalam dokumentasi Windows SDK.
lfAnsiFixFont
Adalah struktur Font Logis Diperluas yang menentukan font pitch tetap (monospaced) default untuk perangkat. Untuk informasi selengkapnya tentang struktur ini, lihat EXTLOGFONT dalam dokumentasi Windows SDK.
cFonts
Menentukan jumlah font perangkat. GDI mengasumsikan bahwa perangkat dapat menggambar teks dengan jumlah font ini pada permukaannya sendiri dan bahwa driver dapat memberikan informasi metrik tentang font. Jika driver mengatur cFonts ke -1, GDI akan menunggu sampai font diperlukan untuk mengkueri driver untuk jumlah font aktual yang didukungnya dalam panggilan ke DrvQueryFont.
iDitherFormat
Menentukan format bitmap. Parameter ini menunjukkan berapa banyak bit informasi warna per piksel yang diminta, dan harus menjadi salah satu nilai berikut:
Nilai | Makna |
---|---|
BMF_1BPP | Monokrom |
BMF_4BPP | 4 bit per piksel |
BMF_8BPP | 8 bit per piksel |
BMF_16BPP | 16 bit per piksel |
BMF_24BPP | 24 bit per piksel |
BMF_32BPP | 32 bit per piksel |
BMF_4RLE | 4 bit per piksel, panjang eksekusi dikodekan |
BMF_8RLE | 8 bit per piksel, panjang eksekusi dikodekan |
BMF_JPEG | Gambar terkompresi JPEG |
BMF_PNG | Gambar terkompresi PNG |
cxDither
cyDither
Tentukan dimensi kuas yang terlarut. Jika anggota ini bukan nol, maka perangkat dapat membuat kuas terlarut untuk warna RGB tertentu.
hpalDefault
Tangani ke palet default untuk perangkat. Driver harus membuat palet dengan memanggil EngCreatePalette. Driver mengaitkan palet dengan perangkat dengan mengembalikan handel ini ke GDI.
flGraphicsCaps2
Adalah sekumpulan bendera yang menjelaskan kemampuan grafis tambahan driver perangkat. Bendera ini ditentukan dalam tabel berikut.
Bendera | Definisi |
---|---|
GCAPS2_ALPHACURSOR | Menangani pointer dengan nilai alfa per piksel. |
GCAPS2_CHANGEGAMMARAMP | Perangkat tampilan memiliki ramp gamma perangkat keras yang dapat dimuat. |
GCAPS2_EXCLUDELAYERED | Menunjukkan bahwa ini adalah driver cermin aksesibilitas. Driver mirror yang tidak mengatur bendera ini masih akan menerima primitif gambar untuk HWND berlapis. Lihat Driver Mirror untuk informasi selengkapnya. |
GCAPS2_ICD_MULTIMON | Memberi tahu GDI bahwa driver berniat untuk menangani DrvSetPixelFormat, DrvDescribePixelFormat, dan DrvSwapBuffers memanggil di lingkungan multimon, bahkan ketika persegi panjang dalam operasi juga berpotongan dengan perangkat lain. Hanya satu perangkat yang pernah diberi kesempatan untuk menangani panggilan tersebut. Jika kemampuan tidak ditentukan dan wilayah yang terlibat berpotongan lebih dari satu perangkat, tidak ada driver yang dipanggil. |
GCAPS2_INCLUDEAPIBITMAPS | Ketika panggilan gambar dilakukan ke bitmap independen perangkat (DIB), driver cermin aksesibilitas akan dipanggil. Lihat Driver Mirror untuk informasi selengkapnya. |
GCAPS2_JPEGSRC | Perangkat dapat menerima gambar terkompresi JPEG (yaitu, gambar yang BMF_JPEG diatur dalam struktur SURFOBJ ). |
GCAPS2_MOUSETRAILS | Menunjukkan bahwa driver mendukung jejak mouse (berturut-turut gambar kursor yang menunjukkan lokasi mouse selama waktu yang singkat). Driver mampu menangani nilai yang dikirim GDI dalam parameter fl dari fungsi DrvSetPointerShape . Driver harus menggunakan masker SPS_LENGTHMASK dan SPS_FREQMASK untuk mendapatkan nilai panjang dan frekuensi jejak mouse. Lihat DrvSetPointerShape untuk informasi selengkapnya tentang masker ini. |
GCAPS2_PNGSRC | Perangkat dapat menerima gambar terkompresi PNG (yaitu, gambar yang BMF_PNG diatur dalam struktur SURFOBJ ). |
GCAPS2_SYNCFLUSH | Driver mendukung mekanisme flush berbasis terprogram untuk panggilan DDI grafis batch. DrvSynchronizeSurface akan dipanggil setiap kali GDI harus membersihkan gambar apa pun yang sedang dikelompokkan oleh driver. |
GCAPS2_SYNCTIMER | Driver mendukung mekanisme flush berbasis timer untuk panggilan DDI grafis batch. DrvSynchronizeSurface akan dipanggil secara berkala, berdasarkan interval timer yang ditentukan oleh GDI. |
Keterangan
Fungsi DrvEnablePDEV driver mengisi struktur DEVINFO; driver hanya boleh mengatur anggota yang relevan dengannya. Struktur ini diinisialisasi nol oleh GDI sebelum DrvEnablePDEV dipanggil. Aplikasi tidak memiliki akses langsung ke struktur ini.
Jika driver mengatur GCAPS2_JPEGSRC atau GCAPS2_PNGSRC di flGraphicsCaps2, aturan berikut berlaku:
- Driver harus menyediakan fungsi DrvQueryDeviceSupport .
-
Setiap fungsi DDI grafis yang ditentukan driver yang menerima struktur SURFOBJ sebagai input harus dapat mendukung format terkompresi atau mengembalikan kode kesalahan. Dalam kasus pengandar pencetak, untuk mendukung format terkompresi, pengandar harus dapat melakukan salah satu tugas berikut:
- Jika perangkat cetak dapat memproses format terkompresi JPEG/PNG, driver printer harus meneruskan format terkompresi ke output bahasa deskripsi halaman (PDL).
- Jika perangkat cetak tidak dapat memproses format terkompresi JPEG/PNG, pengandar pencetak harus terlebih dahulu mengonversi format JPEG/PNG terkompresi ke format gambar lain yang dapat diproses oleh perangkat cetak. Pengandar pencetak kemudian dapat membuat informasi gambar tersedia dalam output PDL driver.
Catatan Dalam kasus konversi dari JPEG/PNG ke format bitmap, driver printer tidak boleh menggunakan fungsi GDI. Misalnya, driver dapat menggunakan API Komponen Pencitraan Windows (WIC) sebagai gantinya untuk melakukan konversi.
- Driver harus dapat menangani wilayah klip kompleks untuk gambar yang menggunakan format terkompresi.
- Untuk fungsi DDI grafis yang ditentukan driver yang menerima argumen input ROP4, hanya 0xCCCC yang digunakan dengan format JPEG dan PNG.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | winddi.h (termasuk Winddi.h) |