## Presentation Device Driver Reference for OS/2

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

### GreGetClipRects

Select an item:

    Syntax
    Parameters
    Returns
    Glossary

Simulation support:

This function is simulated by a handling routine in the graphics engine.

Description

GreGetClipRects fills the buffer indicated by parclRect with a list of (X,Y ) coordinate pairs specifying the rectangles, which define the DC region and intersect an optional bounding rectangle (prclRect). The DC region is the intersection of the visible region, clip region, viewing limits, graphics field, and clip path.

Clipping, when performed by the graphics engine, carries a heavy processing overhead. For simple clipping, the presentation driver gains a significant performance advantage by calling this function to enumerate the clip region , and clipping the line to each rectangle in turn.

This function can be used to determine if the banding rectangle is inside, outside, or crossing the device's clip rectangle.

Note: If COM_TRANSFORM is set, the rectangle points are returned in device coordinates. If COM_TRANSFORM is not set, the rectangle points are returned in screen coordinates.

This function can be hooked by the presentation driver.

    #define INCL_GRE_CLIP

    #include <os2.h>

    HDC         hdc;        /*  Device context handle. */

    PRECTL      prclBound;  /*  Pointer to bounding rectangle in device or screen coordinates. */

    PRGNRECT    pControl;   /*  Pointer to a control structure containing additional parameters: */

    PRECTL      parclRect;  /*  Pointer to array of rectangle (RECTL) structures. */

    PVOID       pInstance;  /*  Pointer to instance data. */

    ULONG       lFunction;  /*  High-order WORD=flags; low-order WORD=NGreGetClipRects. */

    BOOL        fSuccess;   /*  Return codes. */

    fSuccess = GreGetClipRects(hdc, prclBound,

                 pControl, parclRect, pInstance,

                 lFunction);