ULONG DrvGetGlyphMode(
IN DHPDEV dhpdev, | |
IN FONTOBJ *pfo | |
); |
DrvGetGlyphMode tells GDI how to cache glyph information.
Parameters
dhpdev
Identifies a PDEV.
pfo
Points to a FONTOBJ structure that can be queried to find the font size, transform, and so on.
Comments
GDI calls a driver’s DrvGetGlyphMode routine to determine the range of font information that should be cached for a particular font; that is, DrvGetGlyphMode determines what GDI stores in its font cache. A device that caches fonts on its own should return FO_HGLYPHS to minimize the storage requirements for the font.
GDI calls DrvGetGlyphMode for each font realization. For example, a driver might want to download outlines for point sizes larger than 12 point, but raster images for smaller fonts. However, GDI reserves the right to refuse this request.
The driver must check the RASTER_FONTTYPE bit of the flFontType member of the FONTOBJ structure to determine the actual form of the glyphs. If this bit is set, GDI is sending bitmaps; otherwise it is sending PATHOBJ structures.
At the time of the call to DrvGetGlyphMode, the associated FONTOBJ is not fully functional. GDI guarantees only that the IFIMETRICS structure and the notional-to-device transform are correct.
DrvGetGlyphMode is an optional driver function. If this function is not provided, GDI will store raster fonts by default.
Return Value
DrvGetGlyphMode returns one of the following values:
Value | Meaning |
FO_GLYPHBITS | GDI should cache all glyph data for this font. |
FO_HGLYPHS | The device caches fonts on its own, so GDI should cache only glyph handles for this font. |
FO_PATHOBJ | GDI should cache PATHOBJs for this font. |
See Also
FONTOBJ, FONTOBJ_cGetGlyphs, GLYPHDEF, GLYPHPOS, IFIMETRICS, PATHOBJ, STROBJ