GDI Services for Paths

To assist vector devices in filling complex areas, their drivers can call the engine functions, listed in the following table, that create, modify, and enumerate a path. The driver has access to paths through the PATHOBJ.

GDI Path Service Function

Description

EngCreatePath

Allocates a path for the driver’s temporary use. The driver should delete this path before returning to GDI from its current drawing call.

EngDeletePath

Deletes a path allocated by EngCreatePath.

PATHOBJ_vGetBounds

Returns a bounding rectangle for the path.

PATHOBJ_vEnumStart

Notifies a PATHOBJ that the driver will begin calling PATHOBJ_bEnum to enumerate the curves in the specified path. This function must be called in case of an enumeration restart.

PATHOBJ_bEnum

Retrieves the next PATHDATA record from a path. Each record describes all or part of a subpath.

PATHOBJ_vEnumStartClipLines

Allows the driver to ask for lines to be clipped against a CLIPOBJ. This is useful when the clip region is more complex than a single rectangle.

PATHOBJ_bEnumClipLines

Enumerates clipped line segments from a path. In response to DrvPaint, a vector driver can create a path, fill it with lines to describe the brush, and pass the path to PATHOBJ_bEnumClipLines for clipping against the complex region.

PATHOBJ_bMoveTo

Changes the current position in a PATHOBJ-defined path.

PATHOBJ_bPolyLineTo

Draws lines in a PATHOBJ-defined path.

PATHOBJ_bPolyBezierTo

Draws Bezier curves (cubic splines) in a PATHOBJ-defined path.

PATHOBJ_bCloseFigure

Closes a path (for filling) by drawing a line to the starting point.

For more information on these functions, refer to the Graphics Driver Reference.