DrvQueryAdvanceWidths

BOOL DrvQueryAdvanceWidths(

    DHPDEV  dhpdev,
   FONTOBJ  *pfo,
   ULONG  iMode,
   HGLYPH  *phg,
   PVOID  *pvWidths,
   ULONG  cGlyphs
  );

DrvQueryAdvanceWidths returns character advance widths for a specified set of glyphs.

Parameters

dhpdev

Identifies a PDEV previously returned by DrvEnablePDEV.

pfo

Points to a FONTOBJ structure that identifies the font instance.

iMode

Specifies the type of information to be provided. This parameter can be one of the following values:

Value Meaning
QAW_GETWIDTHS The character advance widths are recorded as an array of 12.4 fixed-point numbers. This mode will not be used if the widths exceed the range of the 12.4 representation. The function returns TRUE if successful.
QAW_GETEASYWIDTHS The character advance widths are returned as an array of 12.4 fixed-point numbers. This mode will not be used if the widths exceed the range of the 12.4 representation. This routine should compute widths as quickly as possible. If the computation of a glyph’s character advance width cannot be accomplished efficiently, the driver should write 0xFFFF into the buffer for that glyph. The function returns DDI_ERROR if an error occurs, FALSE if not all widths can be efficiently computed for this mode, or TRUE in all other cases.

phg

Points to an array of HGLYPH structures that specify the glyphs for which the driver will return character advance widths.

pvWidths

Points to a buffer where the driver will record data.

cGlyphs

Specifies the number of glyphs in the input buffer pointed to by phg.

Return Value

The return value is dependent on the value of the iMode parameter.

See Also

DrvEnablePDEV, FONTOBJ