Optional Display Driver Functions

In order to reduce driver size, display driver writers usually add only those optional functions that are well supported in video hardware. The display driver can implement the functions listed in the following tables. These functions are sorted into the following categories:

Bitmap Management Functions

Drawing Functions

Image Color Management Functions

Pointer and Window Management Functions

Miscellaneous Functions

Bitmap Management Functions

Function Description

DrvCreateDeviceBitmap

Creates and manages a bitmap with a driver-defined format.

DrvDeleteDeviceBitmap

Deletes a device-managed bitmap.

Drawing Functions

Function Description

DrvAlphaBlend

Provides bit-block transfer capabilities with alpha blending.

DrvBitBlt

Provides general bit-block transfer capabilities between device-managed surfaces, between GDI-managed standard-format bitmaps, or between a device-managed surface and a GDI-managed standard-format bitmap.

DrvDitherColor

Requests a device to create a brush dithered against a device palette.

DrvFillPath

Paints a closed path for a device-managed surface.

DrvGradientFill

Shades the specified primitives.

DrvLineTo

Draws a single, solid, integer-only cosmetic line.

DrvPlgBlt

Provides rotate bit-block transfer capabilities between combinations of device-managed and GDI-managed surfaces.

DrvRealizeBrush

Realizes a specified brush for a defined surface.

DrvStretchBlt

Allows stretching block transfers among device-managed and GDI-managed surfaces.

DrvStretchBltROP

Performs a stretching bit-block transfer using a ROP.

DrvStrokeAndFillPath

Simultaneously strokes and fills a path.

DrvTransparentBlt

Provides bit-block transfer capabilities with transparency.

Image Color Management Functions

Function Description

DrvIcmCheckBitmapBits

Checks whether the pixels in the specified bitmap lie within the device gamut of the specified transform.

DrvIcmCreateColorTransform

Creates an ICM color transform.

DrvIcmDeleteColorTransform

Deletes the specified ICM color transform.

DrvIcmSetDeviceGammaRamp

Sets the hardware gamma ramp of the specified display device.

Pointer and Window Management Functions

Function Description

DrvDescribePixelFormat

Describes the pixel format for a device-specified PDEV by writing a pixel format description to a PIXELFORMATDESCRIPTOR structure.

DrvMovePointer

Moves a pointer to a new position and redraws it.

DrvSaveScreenBits

Saves or restores a specified rectangle of the screen.

DrvSetPixelFormat

Sets the pixel format of a window.

DrvSetPointerShape

Removes the pointer from the screen if the driver has drawn it, and then sets a new pointer shape.

Miscellaneous Functions

Function Description

DrvDestroyFont

Notifies driver that a font realization is no longer needed; driver can free allocated data structures.

DrvDrawEscape

Implements draw-type escape functions.

DrvEscape

Queries information from a device not available in a device-independent graphics DDI.

DrvFree

Frees storage associated with an indicated data structure.

DrvNotify

Allows a display driver to be notified about certain information by GDI.

DrvSynchronize

Coordinates drawing operations between GDI and a display driver-supported coprocessor device; for engine-managed surfaces only.

DrvSynchronizeSurface

Allows drawing operations performed by a device's coprocessor to be coordinated with GDI.

Display drivers can also optionally implement the Microsoft DirectDraw and/or Direct3D interfaces. See the following sections for details:

DirectDraw

Direct3D DDI

A list of optional functions for all graphics drivers appears in Optional Graphics Driver Functions.