DrvLineTo

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

BRUSHOBJ, CLIPOBJ, EngLineTo, SURFOBJ