Bagikan melalui


STROBJ_bEnumPositionsOnly (winddi.h)

Fungsi STROBJ_bEnumPositionsOnly menghitung identitas dan posisi glyph untuk string teks tertentu, tetapi tidak membuat bitmap glyph yang di-cache.

Sintaks

ENGAPI BOOL STROBJ_bEnumPositionsOnly(
  STROBJ    *pstro,
  ULONG     *pc,
  PGLYPHPOS *ppgpos
);

Parameter

pstro

Penunjuk yang disediakan penelepon ke struktur STROBJ yang menjelaskan string teks. Ini biasanya merupakan struktur STROBJ yang diterima oleh fungsi DrvTextOut driver.

pc

Alamat yang disediakan penelepon untuk menerima jumlah struktur GLYPHPOS yang disediakan GDI yang ditujukkan oleh pointer dalam ppgpos.

ppgpos

Alamat yang disediakan penelepon yang menerima pointer yang disediakan GDI ke array struktur GLYPHPOS . (Lihat bagian Keterangan berikut.)

Nilai kembali

Nilai yang dikembalikan adalah TRUE jika lebih banyak glyph tetap dijumlahkan, atau FALSE jika enumerasi selesai. Nilai yang dikembalikan DDI_ERROR jika glyph tidak dapat dijumlahkan, dan kode kesalahan dicatat.

Keterangan

Fungsi STROBJ_bEnumPositionsOnly biasanya dipanggil dari dalam fungsi DrvTextOut driver. Ini melakukan operasi yang sama dengan STROBJ_bEnum dengan satu pengecualian penting − GDI tidak membuat bitmap cache dari glyph. Fungsi STROBJ_bEnum mengasumsikan driver pada akhirnya akan membutuhkan bitmap ini. Namun, banyak printer yang lebih baru berisi rasterizer internal dan oleh karena itu tidak perlu GDI untuk merender glyph. Untuk printer tersebut, menghilangkan rendering otomatis dan penembolokan bitmap glyph dalam memori server memberikan penghematan yang cukup besar dari waktu pemrosesan dan alokasi memori.

Untuk printer yang mendukung rasterisasi glyph internal, aturan berikut harus diikuti:

  • Driver harus mengatur bendera GCAPS_FONT_RASTERIZER dalam struktur DEVINFO-nya .
  • Fungsi DrvTextOut driver harus memanggil STROBJ_bEnumPositionsOnly alih-alih STROBJ_bEnum.
  • Jika tugas cetak menyertakan font yang tidak dapat dirasterisasi perangkat secara internal, driver harus memanggil FONTOBJ_cGetGlyphs untuk mendapatkan bitmap glyph.
  • Jika driver perlu menentukan kemungkinan posisi printer setelah string teks dicetak, tetapi tidak memerlukan glyph font, driver dapat memanggil STROBJ_bGetAdvanceWidths.
Karena GDI tidak membuat bitmap glyph yang di-cache, konten gabungan GLYPHDEF dalam setiap struktur GLYPHPOS yang dikembalikan adalah NULL.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows 2000 dan versi yang lebih baru dari sistem operasi Windows.
Target Platform Universal
Header winddi.h (termasuk Winddi.h)
Pustaka Win32k.lib
DLL Win32k.sys

Lihat juga

DrvTextOut

FONTOBJ_cGetGlyphs

GLYPHDEF

GLYPHPOS

STROBJ

STROBJ_bEnum

STROBJ_bGetAdvanceWidths