EngStrokeAndFillPath
BOOL EngStrokeAndFillPath(
IN SURFOBJ *pso,
|
|
IN PATHOBJ *ppo,
|
|
IN CLIPOBJ *pco,
|
|
IN XFORMOBJ *pxo,
|
|
IN BRUSHOBJ *pboStroke,
|
|
IN LINEATTRS *plineattrs,
|
|
IN BRUSHOBJ *pboFill,
|
|
IN POINTL *pptlBrushOrg,
|
|
IN MIX mix,
|
|
IN FLONG flOptions
|
|
);
|
|
EngStrokeAndFillPath causes GDI to fill a path and stroke it at the
same time.
Parameters
-
pso
-
Points to a SURFOBJ structure that defines the
drawing surface.
-
ppo
-
Points to a PATHOBJ structure that defines the path
to be filled. The PATHOBJ_Xxx service routines are provided to
enumerate the lines, Bezier curves, and other data that make up the path.
-
pco
-
Points to a CLIPOBJ structure. The CLIPOBJ_Xxx
service routines are provided to enumerate the clip region as a set of
rectangles.
-
pxo
-
Points to a XFORMOBJ structure that is only needed
when a geometric wide line is to be drawn and specifies the transform that
converts world coordinates to device coordinates. The path is provided in
device coordinates but a geometric wide line is actually widened in world
coordinates.
The driver can use the XFORMOBJ_Xxx service routines to
determine the transform.
-
pboStroke
-
Points to a BRUSHOBJ structure that describes the
brush to use when stroking the path.
-
plineattrs
-
Points to a LINEATTRS structure.
-
pboFill
-
Points to a BRUSHOBJ structure that describes the brush to use when filling
the path.
-
pptlBrushOrg
-
Points to a POINTL structure that defines the brush origin for both brushes.
-
mix
-
Defines the foreground and background raster operations to use for the fill
brush.
-
flOptions
-
Specifies which fill mode to use. This parameter can be FP_WINDINGMODE or
FP_ALTERNATEMODE; all other bits should be ignored.
Return Value
The return value is TRUE if GDI fills the path. If the driver should fill the
path, the return value is FALSE, and an error code is not logged. If GDI
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.
Comments
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.
See Also
BRUSHOBJ, CLIPOBJ, DrvStrokeAndFillPath,
LINEATTRS, PATHOBJ, SURFOBJ,
XFORMOBJ