CLIPOBJ structure (winddi.h)

The CLIPOBJ structure describes the clip region used when drawing.

Syntax

typedef struct _CLIPOBJ {
  ULONG iUniq;
  RECTL rclBounds;
  BYTE  iDComplexity;
  BYTE  iFComplexity;
  BYTE  iMode;
  BYTE  fjOptions;
} CLIPOBJ;

Members

iUniq

Specifies a value that uniquely identifies the clip region. If iUniq is nonzero, the driver uses it as a cache identifier. This allows the driver to recognize a region after downloading and caching it. If the value is zero, the driver should not cache the region because the region will not be used again.

rclBounds

Specifies a RECTL structure that bounds the part of the region that intersects the drawing. If iDComplexity is DC_RECT, then this is the clipping rectangle to be considered.

iDComplexity

Specifies the complexity of the part of the region that intersects with the drawing. This member must be one of the following values:

Value Meaning
DC_COMPLEX The clip region must be enumerated.
DC_RECT Clip to a single rectangle.
DC_TRIVIAL Clipping need not be considered; draw the whole figure.

iFComplexity

Specifies the complexity of the whole region. This value is used by the driver in deciding whether to cache the region. CLIPOBJ_cEnumStart can be called to determine the exact number of rectangles in the region. This member can be one of the following values:

Value Meaning
FC_COMPLEX The region consists of more than four rectangles.
FC_RECT The region is a single rectangle.
FC_RECT4 The region consists of, at most, four rectangles.

iMode

Specifies how the region is stored by GDI. This can help the driver determine how to enumerate the region. This member can be one of the following values:

Value Meaning
TC_PATHOBJ The region is stored as a path.
TC_RECTANGLES The region is stored as rectangles.

fjOptions

Specifies clipping options. This member can be the following value:

Value Meaning
OC_BANK_CLIP Obsolete. Indicates an engine callback for a banked device.

Remarks

The region, described by CLIPOBJ, can be enumerated as a series of rectangles.

Requirements

Requirement Value
Header winddi.h (include Winddi.h)

See also

CLIPOBJ_bEnum

CLIPOBJ_cEnumStart

RECTL