BOOL DrvFillPath(
IN SURFOBJ *pso, | |
IN PATHOBJ *ppo, | |
IN CLIPOBJ *pco, | |
IN BRUSHOBJ *pbo, | |
IN POINTL *pptlBrushOrg, | |
IN MIX mix, | |
IN FLONG flOptions | |
); |
DrvFillPath is an optional entry point to handle the filling of closed paths.
The return value is TRUE if the driver is able to fill the path. If the path or clipping is too complex to be handled by the driver and should be handled by GDI, the return value is FALSE, and an error code is not logged. If the driver encounters an unexpected error, such as not being able to realize the brush, the return value is DDI_ERROR, and an error code is logged.
GDI can call DrvFillPath to fill a path on a device-managed surface. When deciding whether to call this function, GDI compares the fill requirements with the following flags in the flGraphicsCaps member of the DEVINFO structure: GCAPS_BEZIERS, GCAPS_ALTERNATEFILL, and GCAPS_WINDINGFILL.
The mix mode defines how the incoming pattern should be mixed with the data already on the device surface. The MIX data type consists of two ROP2 values packed into a single ULONG. The low-order byte defines the foreground raster operation; the next byte defines the background raster operation. For more information about raster operation codes, see the Win32 SDK.
BRUSHOBJ, CLIPOBJ, DEVINFO, DrvStrokeAndFillPath, PATHOBJ, SURFOBJ