CombineRgn
The CombineRgn
function combines two regions and stores the result in a third region. The two
regions are combined according to the specified mode.
int CombineRgn(
HRGN hrgnDest, |
// handle to
destination region |
HRGN hrgnSrc1, |
// handle to source
region |
HRGN hrgnSrc2, |
// handle to source
region |
int fnCombineMode |
// region combining
mode |
); |
|
Parameters
hrgnDest
Identifies a
new region with dimensions defined by combining two other regions. (This region
must exist before CombineRgn is called.)
hrgnSrc1
Identifies
the first of two regions to be combined.
hrgnSrc2
Identifies
the second of two regions to be combined.
fnCombineMode
Specifies a
mode indicating how the two regions will be combined. This parameter can be one
of the following values:
Value |
Description |
RGN_AND |
Creates the
intersection of the two combined regions. |
RGN_COPY |
Creates a
copy of the region identified by hrgnSrc1. |
RGN_DIFF |
Combines
the parts of hrgnSrc1 that are not part of hrgnSrc2. |
RGN_OR |
Creates the
union of two combined regions. |
RGN_XOR |
Creates the
union of two combined regions except for any overlapping areas. |
Return Values
The return
value specifies the type of the resulting region. It can be one of the
following values:
Value |
Meaning |
NULLREGION |
The region
is empty. |
SIMPLEREGION |
The region
is a single rectangle. |
COMPLEXREGION |
The region
is more than a single rectangle. |
ERROR |
No region
is created. |
Remarks
The three
regions need not be distinct. For example, the hrgnSrc1 parameter can
equal the hrgnDest parameter.
See Also