Conditionally Required Graphics Driver Functions

Depending on how a driver is implemented, other functions, such as those listed in the table that follows, are required. If the driver manages its own surface (using EngCreateDeviceSurface to get a handle to the surface), 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 DrvSetPalette.

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 unless it must be able to draw its own fonts or those of the video hardware on a device-managed surface. 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

DrvCopyBits

Device-managed surfaces

Translates between a device-managed raster surface and a GDI standard-format bitmap.

DrvStrokePath

Device-managed surfaces

Renders a path on the display.

DrvTextOut

Device-managed surfaces or drivers that define fonts

Renders a set of character components (glyphs) at specified positions.

DrvSetPalette

Displays that support settable palettes

Realizes the palette for a specified device.

DrvPaint

Device-managed surfaces

Fills ("paints") a specified region.

DrvDescribePixelFormat

Displays that support windows with different pixel formats on a single surface

Describes a PDEV’s pixel format.

DrvSetPixelFormat

Displays that support windows with different pixel formats on a single surface

Sets a window’s pixel format.

DrvSwapBuffers

Drivers that support a pixel format with double buffering

Displays contents of a surface’s hidden buffer.

DrvResetPDEV

Devices that allow mode changes in documents

Transfers driver state from old PDEV to new PDEV.

DrvQueryFont

Drivers that draw fonts

Retrieves a GDI structure for a given font.

DrvQueryFontData

Drivers that draw fonts

Retrieves information about a realized font.

DrvQueryFontTree

Drivers that draw fonts

Queries a tree structure defining one of three types of font mapping.

DrvLoadFontFile

Font drivers

Specifies file to use for font realizations.

DrvUnloadFontFile

Font drivers

Informs driver a font file is not needed.

DrvQueryFontCaps

Font drivers

Asks driver for font driver capabilities.

DrvQueryFontFile

Font drivers

Asks driver for font file information.

DrvQueryTrueTypeTable

TrueType font drivers

Gives GDI access to TrueType font files.

DrvQueryTrueTypeOutline

TrueType font drivers

Returns TrueType glyph handles to GDI.

DrvGetTrueTypeFile

TrueType font drivers

Gives GDI access to memory-mapped TrueType font file.