15.03.2015 Views

SetupDesignGuide.pdf - Firmware Encoding Index

SetupDesignGuide.pdf - Firmware Encoding Index

SetupDesignGuide.pdf - Firmware Encoding Index

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Setup Design Guide<br />

DRAFT<br />

7.1.5 EFI_HII_PROTOCOL.GetGlyph()<br />

Summary<br />

Translates a Unicode character into the corresponding font glyph.<br />

Prototype<br />

EFI_STATUS<br />

(EFIAPI *EFI_HII_GET_GLYPH) (<br />

IN EFI_HII_PROTOCOL *This,<br />

IN CHAR16 *Source,<br />

IN OUT UINT16<br />

*<strong>Index</strong>,<br />

OUT UINT8 *GlyphBuffer,<br />

OUT UINT16 *BitWidth,<br />

IN OUT UINT32<br />

*InternalStatus<br />

);<br />

Parameters<br />

This<br />

Source<br />

<strong>Index</strong><br />

GlyphBuffer<br />

BitWidth<br />

InternalStatus<br />

A pointer to the EFI_HII_PROTOCOL instance.<br />

A pointer to a Unicode string.<br />

On input, the offset into the string to fetch the character from. On<br />

successful completion, the index is updated to the first character past<br />

the character(s) making up the just extracted glyph.<br />

Pointer to an array where the glyphs corresponding to the characters<br />

in the Source may be stored. GlyphBuffer is assumed to be wide<br />

enough to accept a wide glyph character.<br />

If EFI_SUCCESS was returned, the UINT16 pointed to by this<br />

value is filled with the length of the glyph in pixels. Unchanged if<br />

the call was unsuccessful.<br />

To save the time required to read the string from the beginning on<br />

each glyph extraction (to ensure that e.g. the narrow versus wide<br />

glyph mode is correct), this value is updated each time the function is<br />

called with status local to the call. The cell pointed to by this<br />

parameter must be initialized to 0 prior to invoking the call the first<br />

time for any string.<br />

Description<br />

The data returned is the format required for input to the UGA BLT routines.<br />

Status Codes Returned<br />

EFI_SUCCESS<br />

It worked.<br />

EFI_NOT_FOUND<br />

A glyph for a character was not found.<br />

56

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!