Conditionally Required Graphics Driver Functions
Besides the functions that are always required, certain other functions may be required, depending on how a driver is implemented. The conditionally-required functions are listed in the following table. If the driver manages its own primary surface (using the EngCreateDeviceSurface function to get a handle to the surface), or its own offscreen bitmaps, the driver must also support several drawing functions. Drivers writing to standard format DIBs usually allow GDI to manage most or all of these operations. Displays that support settable palettes must also support the DrvSetPalette function.
It is more common for a printer driver than a display driver to define or draw fonts. A display driver is not required to handle fonts. If the hardware has a resident font, the driver must supply information to GDI about this font. This information includes font metrics, mappings from Unicode to individual glyph identities, individual glyph attributes, and kerning tables.
Entry Point | When Required | Description |
---|---|---|
Translates between device-managed raster surfaces and GDI standard-format bitmaps. |
||
Displays that support windows with different pixel formats on a single surface |
Describes a PDEV's pixel format. |
|
TrueType font drivers |
Gives GDI access to a memory-mapped TrueType font file. |
|
Font drivers |
Specifies file to use for font realizations. |
|
Printer drivers |
Retrieves a GDI structure for a given font. |
|
Font drivers |
Asks driver for font driver capabilities. |
|
Printer drivers |
Retrieves information about a realized font. |
|
Font drivers |
Asks driver for font file information. |
|
Printer drivers |
Queries a tree structure defining one of three types of font mapping. |
|
TrueType font drivers |
Returns TrueType glyph handles to GDI. |
|
TrueType font drivers |
Gives GDI access to TrueType font files. |
|
Devices that allow mode changes in documents |
Transfers driver state from old PDEV to new PDEV. |
|
Displays that support settable palettes |
Realizes the palette for a specified device. |
|
Displays that support windows with different pixel formats on a single surface |
Sets a window's pixel format. |
|
Device-managed surfaces |
Renders a path on the display. |
|
Drivers that support a pixel format with double buffering |
Displays contents of a surface's hidden buffer. |
|
Device-managed surfaces or drivers that define fonts |
Renders a set of character images (glyphs) at specified positions. |
|
Font drivers |
Informs driver that a font file is not needed. |