## Graphics Adapter Device Driver Reference

[prev][next][parent][TOC]

### LINEINFO2

Line information data structure for simple lines, used for VMI_CMD_LINE and GHI_CMD_LINE functions.

The LINEINFO2 structure will never be passed to a GRADD unless the GRADD indicates it can handle both LINEINFO and LINEINFO2 structures by setting the DS_SIMPLE_LINES flag in the ulFCFlags member of CAPSINFO.

    typedef struct _LINEINFO2 {

      ULONG         ulLength;        /*  Length of LINEINFO2 data structure. */

      ULONG         ulType;          /*  Defines line type. */

      ULONG         ulStyleMask;     /*  A 32-bit style mask. */

      ULONG         cLines;          /*  Count of lines to be drawn. */

      ULONG         ulFGColor;       /*  Line Foreground color. */

      ULONG         ulBGColor;       /*  Line Background color. */

      USHORT        usForeROP;       /*  Line Foreground mix. */

      USHORT        usBackROP;       /*  Line Background mix. */

      PBMAPINFO     pDstBmapInfo;    /*  Pointer to destination surface bit map. */

      ULONG         ulFlags;         /*  Line flags. */

      ULONG         ulXYStyleStep;   /*  Low byte of low word: x style, High byte of low word: y style. */

      PULONG        pulStyleValue;   /*  Pointer to style value at start point. */

      POINTL        ptlOrigin;       /*  Origin to be added to all coordinates. */

      PPOINTL       pptlStart;       /*  Pointer to POINTL defining start point. */

      PPOINTL       pptlLines;       /*  Pointer to POINTL array defining connected line endpoints. */

      POINTL        ptlClipStart;    /*  Clipped start point if it is clipped. */

      POINTL        ptlClipEnd;      /*  Clipped end point if it is clipped. */

      LONG          lClipStartError; /*  Bresenham error at the clip start for first line. */

      PRECTL        prclBounds;      /*  Pointer to bounding rect of clipped lines. */

    } LINEINFO2;

    typedef   LINEINFO2   * PLINEINFO2 ;