Betriebssysteme, Tools und Dienstleistungen
für die Entwicklung überlegener Embedded-Systeme
Home
Developer Resources

# gf_context_set_polyfill

PDF Documents
More resources
 This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

# gf_context_set_polyfill()

Set the polygon fill rule

## Synopsis:

```#include <gf/gf.h>

void gf_context_set_polyfill( gf_context_t context,
int polyfill );

```

## Arguments:

context
The draw context to set the polygon fill rule for.
polyfill
The winding rule for the polygon fill. Can be one of:
• GF_CONTEXT_POLYFILL_CONVEX
• GF_CONTEXT_POLYFILL_EVENODD — the default rule
• GF_CONTEXT_POLYFILL_NONZERO

gf

## Description:

This function replaces the polygon fill rule for the specified draw context. The polygon fill rule determines how the fill for polygons is rendered. If you're only drawing simple, convex polygons, you can optimize rendering speed by setting the fill rule to GF_CONTEXT_POLYFILL_CONVEX.

By default, polygons that overlap themselves are filled using the so-called even-odd rule (GF_CONTEXT_POLYFILL_EVENODD): if an area overlaps an odd number of times, it isn't filled. Another way of looking at this is to draw a horizontal line across the polygon. As you travel along this line and cross the first line, you're inside the polygon; as you cross the second line, you're outside. As an example, consider a simple polygon:

Filling a simple polygon.

This rule can be extended for more complicated polygons:

• When you cross an odd number of lines, you're inside the polygon, so the area is filled.
• When you cross an even number of lines, you're outside the polygon, so the area isn't filled.

Filling an overlapping polygon.

If you want a polygon that overlaps itself to be completely filled in all regions within its boundary, you can set the fill rule to GF_CONTEXT_POLYFILL_NONZERO.

## Classification:

QNX Graphics Framework

Safety:
Interrupt handler No
Signal handler No