gdk_draw_polygon() draws a
filled or unfilled polygon (Figure 21). Notice that gdk_draw_lines() can also be used
to draw an unfilled polygon (there is no reason to prefer
one or the other). The arguments to
gdk_draw_polygon() are the same as those to gdk_draw_lines(). The polygon does
not have to be convex. It may also be self-intersecting.
Self-intersecting polygons are filled with an "Even-Odd
Rule," which means regions with an odd number of polygon
areas overlapping them are not filled. That is, if the
polygon does not overlap itself, it is entirely filled;
if a region is overlapped once, it is not filled; if it's
overlapped twice, it is filled; and so on.