Fungsi DrvQueryFontData (winddi.h)
Fungsi DrvQueryFontData mengambil informasi tentang font yang direalisasikan.
Sintaks
LONG DrvQueryFontData(
DHPDEV dhpdev,
FONTOBJ *pfo,
ULONG iMode,
HGLYPH hg,
GLYPHDATA *pgd,
[out] PVOID pv,
ULONG cjSize
);
Parameter
dhpdev
Tangani ke PDEV perangkat fisik yang dikembalikan dari panggilan sebelumnya ke DrvEnablePDEV.
pfo
Penunjuk ke struktur FONTOBJ yang menentukan realisasi font.
iMode
Menentukan jenis informasi yang diminta. Parameter ini bisa menjadi salah satu nilai berikut:
Nilai | Makna |
---|---|
QFD_GLYPHANDBITMAP |
Jika pgd bukan NULL, maka driver harus mengisi struktur GLYPHDATA dengan metrik glyph yang ditentukan oleh hg.
Jika pv bukan NULL, struktur GLYPHBITS harus ditulis di alamat ini. Driver harus menyalin bitmap glyph yang sesuai dengan glyph yang ditentukan oleh hg ke dalam struktur ini. Ukuran struktur ditentukan oleh cjSize. Jika bitmap glyph tidak didukung oleh driver, fungsi ini hanya akan dipanggil dengan pv diatur ke NULL. Jika driver mendukung bitmap glyph, nilai yang dikembalikan adalah ukuran, dalam byte, dari bitmap glyph. Jika tidak, itu nol. Mode ini harus didukung. |
QFD_GLYPHANDOUTLINE |
Jika pgd bukan NULL, maka driver harus mengisi struktur GLYPHDATA dengan metrik glyph yang ditentukan oleh hg.
Jika pv bukan NULL, struktur PATHOBJ harus ditulis di alamat ini. Driver meneruskan PATHOBJ ini ke layanan PATHOBJ_Xxx untuk membuat kerangka untuk glyph yang ditentukan oleh hg. Parameter cjSize harus diabaikan. Nilai yang dikembalikan adalah nol jika fungsi berhasil. Jika tidak, itu FD_ERROR. Hanya driver font yang menyediakan kerangka glyph yang perlu mendukung mode ini. |
QFD_MAXEXTENTS |
Jika pv bukan NULL, driver harus menulis struktur FD_DEVICEMETRICS ke buffer yang ditujukkan oleh pv.
Nilai yang dikembalikan adalah ukuran, dalam byte, yang diperlukan untuk buffer jika pvADALAH NULL. |
QFD_TT_GRAY1_BITMAP | Font yang diwujudkan harus dirender dalam satu bit-per-piksel skala abu-abu (yaitu, hitam atau putih). |
QFD_TT_GRAY2_BITMAP | Font yang direalisasikan harus dirender dalam dua bit per piksel skala abu-abu. |
QFD_TT_GRAY4_BITMAP | Font yang direalisasikan harus dirender dalam empat bit per piksel skala abu-abu. |
QFD_TT_GRAY8_BITMAP | Font yang diwujudkan harus dirender dalam delapan bit per piksel skala abu-abu. |
QFD_TT_MONO_BITMAP | Sama seperti QFD_TT_GRAY1_BITMAP. |
hg
Tangani ke glyph.
pgd
Penunjuk ke struktur GLYPHDATA . Parameter ini bisa NULL.
[out] pv
Penunjuk ke buffer data. Jenis data yang ditulis ke buffer ini tergantung pada iMode. Parameter ini bisa NULL.
cjSize
Menentukan ukuran buffer yang diacu oleh pv.
Mengembalikan nilai
Nilai yang dikembalikan tergantung pada nilai parameter iMode . Jika terjadi kesalahan, nilai yang dikembalikan FD_ERROR, dan kode kesalahan dicatat.
Keterangan
Untuk nilai QFD_GLYPHANDBITMAP dan QFD_GLYPHANDOUTLINE parameter iMode , GDI menyediakan penunjuk ke struktur GLYPHDATA (dalam parameter pgd ). Driver menempatkan informasi tentang metrik glyph dalam struktur ini dan menulis konten struktur GLYPHBITS atau struktur PATHOBJ di lokasi yang ditentukan oleh parameter pv , masing-masing tergantung pada apakah font adalah font bitmap atau font kerangka. Untuk nilai QFD_MAXEXTENTS parameter iMode , driver menulis konten struktur FD_DEVICEMETRICS di lokasi yang ditentukan oleh parameter pv .
DrvQueryFontData diperlukan untuk driver font dan driver yang menggunakan font khusus perangkat atau khusus driver.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | winddi.h (termasuk Winddi.h) |