int SetPolyFillMode(hdc, iPolyFillMode) | |||||
HDC hdc; | /* handle of device context | */ | |||
int iPolyFillMode; | /* polygon filling mode | */ |
The SetPolyFillMode function sets the polygon filling mode for functions that fill polygons.
hdc
Identifies the device context.
iPolyFillMode
Specifies the new filling mode. The iPolyFillMode parameter may be either of the following values:
Value | Meaning |
ALTERNATE | ||
Selects alternate mode. | ||
WINDING | ||
Selects winding number mode. |
The return value specifies the previous filling mode. It is 0 if there is an error.
In general, the modes differ only in cases where a complex, overlapping polygon must be filled (for example, a five-sided polygon that forms a five-pointed star with a pentagon in the center). In such cases, ALTERNATE mode fills every other enclosed region within the polygon (that is, the points of the star), but WINDING mode fills all regions (that is, the points and the pentagon).
When the filling mode is ALTERNATE, GDI fills the area between odd-numbered and even-numbered polygon sides on each scan line. That is, GDI fills the area between the first and second side, between the third and fourth side, and so on.
A WINDING mode fill will fill any region that has a non-zero winding number. The winding number is defined as the number of times that a pen used to draw the polygon would go around the region. The direction of each edge of the polygon is important.