Bagikan melalui


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)

Lihat juga

DrvEnablePDEV

DrvQueryFont

DrvRealizeBrush

DrvTextOut