GDI Drawing Services, Other

To support the CLIPOBJ, BRUSHOBJ, and XFORMOBJ, GDI offers several drawing services, listed in the following table, in addition to the GDI simulations described earlier in Hooking versus Punting.

GDI Draw Service Function Description
EngCreateClip Allocates a CLIPOBJ for the driver’s temporary use. The driver should call EngDeleteClip to delete it when it is no longer needed.
EngDeleteClip Deletes a CLIPOBJ allocated with EngCreateClip.
EngBitBlt GDI simulation for DrvBitBlt.
EngCopyBits GDI simulation for DrvCopyBits.
EngStretchBlt GDI simulation for DrvStretchBlt.
EngFillPath GDI simulation for DrvFillPath.
EngStrokeAndFillPath GDI simulation for DrvStrokeAndFillPath.
EngPaint GDI simulation for DrvPaint.
EngStrokePath GDI simulation for DrvStrokePath.
EngLineTo GDI simulation for DrvLineTo.
BRUSHOBJ_pvAllocRbrush Allocates memory for the driver’s realization of a brush.
BRUSHOBJ_pvGetRbrush Returns a pointer to the driver’s realization of the brush. Realizes the brush if it has not yet been realized.
CLIPOBJ_cEnumStart Sets parameters for enumeration of the rectangles in all or part of the clipped region. (The region can be enumerated once without this call).
CLIPOBJ_bEnum Retrieves a batch of rectangles  from the clip region.
CLIPOBJ_ppoGetPath Can be used to retrieve complicated regions as a path.

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