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.