BOOL DrvLineTo(
SURFOBJ *pso, | |
CLIPOBJ *pco, | |
BRUSHOBJ *pbo, | |
LONG x1, | |
LONG y1, | |
LONG x2, | |
LONG y2, | |
RECTL *prclBounds, | |
MIX mix | |
); |
DrvLineTo draws a single solid integer-only cosmetic line.
Parameters
pso
Pointer to a SURFOBJ structure that describes the surface on which to draw.
pco
Pointer to a CLIPOBJ structure that defines the clip region in which the rendering must be done. No pixels can be affected outside this clip region.
pbo
Pointer to a BRUSHOBJ structure that specifies the brush to use when drawing the line.
x1, y1
Specify the integer x- and y-coodinates of the line’s beginning point.
x2, y2
Specify the integer x- and y-coordinates of the line’s end point.
prclBounds
Pointer to an integer rectangle that bounds the unclipped line. Drivers that support hardware line drawing can use this rectangle to quickly determine whether the line fits in a coordinate space small enough to be rendered by the hardware.
mix
Defines how the incoming pattern should be mixed with the data already on the device surface. The low-order byte defines the raster operation. For more information about raster operation codes, see the Win32 SDK.
Return Value
DrvLineTo returns TRUE if it succeeds; otherwise, it returns FALSE.
Comments
DrvLineTo is an optional entry point that a driver can supply as an optimization for application calls to the Win32 LineTo function. If the driver doesn’t hook DrvLineTo, or if the driver returns FALSE from it, GDI will automatically call DrvStrokePath instead. A driver that has hooked DrvLineTo can call EngLineTo when the rendering surface is a DIB.
This function is simpler than DrvStrokePath because it supports only integer end-points and solid cosmetic lines. GDI has less overhead when calling DrvLineTo instead of DrvStrokePath; consequently, DrvLineTo is intended to be used as a simple optimization by drivers than can accelerate nominal width lines in hardware.
See Also