Previous Next

DrvLineTo

The DrvLineTo function draws a single, solid, integer-only cosmetic line.

BOOL
  DrvLineTo(
    SURFOBJ  *pso,
    CLIPOBJ  *pco,
    BRUSHOBJ  *pbo,
    LONG  x1,
    LONG  y1,
    LONG  x2,
    LONG  y2,
    RECTL  *prclBounds,
    MIX  mix
    );

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 the RECTL structure that defines the 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 Platform SDK documentation.

Return Value

DrvLineTo returns TRUE if it succeeds; otherwise, it returns FALSE.

Headers

Declared in winddi.h. Include winddi.h.

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 a call to this function, 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 that can accelerate nominal width lines in hardware.

See Also

BRUSHOBJ, CLIPOBJ, DrvStrokePath, EngLineTo, SURFOBJ