EngStrokePath
BOOL EngStrokePath(
IN SURFOBJ *pso,
|
|
IN PATHOBJ *ppo,
|
|
IN CLIPOBJ *pco,
|
|
IN XFORMOBJ *pxo,
|
|
IN BRUSHOBJ *pbo,
|
|
IN POINTL *pptlBrushOrg,
|
|
IN LINEATTRS *plineattrs,
|
|
IN MIX mix
|
|
);
|
|
EngStrokePath requests that GDI stroke a specified path.
Parameters
-
pso
-
Points to a SURFOBJ structure that describes the
surface on which to draw.
-
ppo
-
Points to a PATHOBJ structure. The PATHOBJ_Xxx
service routines are provided to enumerate the lines, Bezier curves, and other
data that make up the path. This indicates what is to be drawn.
-
pco
-
Points to a CLIPOBJ structure. The CLIPOBJ_Xxx
service routines are provided to enumerate the clip region as a set of
rectangles. Optionally, all the lines in the path can be enumerated preclipped
by this CLIPOBJ. This means that drivers can have all their line clipping
calculations done for them.
-
pxo
-
Points to a XFORMOBJ structure. This is only needed
when a geometric wide line is to be drawn. It specifies the transform that
converts world coordinates to device coordinates. This is needed because 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.
-
pbo
-
Specifies the brush to be used when drawing the path.
-
pptlBrushOrg
-
Points to the brush origin used to align the brush pattern on the device.
-
plineattrs
-
Points to a LINEATTRS structure. Note that the elStyleState
member of the structure must be updated as part of this function if the line
is styled. Also note the ptlLastPel member must be updated if a
single-pixel-width cosmetic line is being drawn.
-
mix
-
Specifies how to combine the brush with the destination.
Return Value
The return value is TRUE if GDI strokes the path. If the driver should stroke
the path, the return value is FALSE, and no error is logged. If GDI encounters
an error, 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
CLIPOBJ, DrvStrokePath,
LINEATTRS, PATHOBJ, SURFOBJ,
XFORMOBJ