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.