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.