CLIPOBJ 结构 (winddi.h)
CLIPOBJ 结构描述绘制时使用的剪裁区域。
语法
typedef struct _CLIPOBJ {
ULONG iUniq;
RECTL rclBounds;
BYTE iDComplexity;
BYTE iFComplexity;
BYTE iMode;
BYTE fjOptions;
} CLIPOBJ;
成员
iUniq
指定唯一标识剪辑区域的值。 如果 iUniq 不为零,驱动程序会将其用作缓存标识符。 这允许驱动程序在下载和缓存区域后识别该区域。 如果值为零,则驱动程序不应缓存该区域,因为不会再次使用该区域。
rclBounds
指定一个 RECTL 结构,该结构绑定与绘图相交的区域部分。 如果 iDComplexity DC_RECT,则这是要考虑的剪裁矩形。
iDComplexity
指定与绘图相交的区域部分的复杂性。 此成员必须是以下值之一:
值 | 含义 |
---|---|
DC_COMPLEX | 必须枚举剪辑区域。 |
DC_RECT | 剪裁到单个矩形。 |
DC_TRIVIAL | 无需考虑剪裁;绘制整个图形。 |
iFComplexity
指定整个区域的复杂性。 驱动程序在决定是否缓存区域时使用此值。 可以调用CLIPOBJ_cEnumStart来确定区域中矩形的确切数量。 此成员可以是以下值之一:
值 | 含义 |
---|---|
FC_COMPLEX | 该区域由四个以上的矩形组成。 |
FC_RECT | 该区域是单个矩形。 |
FC_RECT4 | 该区域最多由四个矩形组成。 |
iMode
指定 GDI 存储区域的方式。 这有助于驱动程序确定如何枚举区域。 此成员可以是以下值之一:
值 | 含义 |
---|---|
TC_PATHOBJ | 该区域存储为路径。 |
TC_RECTANGLES | 该区域存储为矩形。 |
fjOptions
指定剪辑选项。 此成员可以是以下值:
值 | 含义 |
---|---|
OC_BANK_CLIP | 已过时。 指示银行设备的引擎回调。 |
注解
CLIPOBJ 描述的区域可以枚举为一系列矩形。
要求
标头 | winddi.h (包括 Winddi.h) |