Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
al_draw_fi..._with_holes(3) Library Functions Manual al_draw_fi..._with_holes(3)

NAME
     al_draw_filled_polygon_with_holes - Allegro 5 API

SYNOPSIS
	    #include <allegro5/allegro_primitives.h>

	    void al_draw_filled_polygon_with_holes(const float *vertices,
	       const int *vertex_counts, ALLEGRO_COLOR color)

DESCRIPTION
     Draws  a filled simple polygon with zero or more other simple polygons sub-
     tracted from it - the holes.  The holes cannot touch or intersect with  the
     outline of the filled polygon.

     * vertices - Interleaved array of (x, y) vertex coordinates for each of the
       polygons, including holes.

     * vertex_counts  - Number of vertices for each polygon.  The number of ver-
       tices in the filled polygon is given by vertex_counts[0] and must  be  at
       least three.  Subsequent elements indicate the number of vertices in each
       hole.  The array must be terminated with an element with value zero.

     * color - Color of the filled polygon

     When  the y-axis is facing downwards (the usual) the filled polygon coordi-
     nates must be ordered anti-clockwise.  All hole vertices must use the oppo-
     site order (clockwise with y down).  All hole vertices must be  inside  the
     main polygon and no hole may overlap the main polygon.

     For example:

	    float vertices[] = {
		  0,   0, // filled polygon, upper left corner
		  0, 100, // filled polygon, lower left corner
		100, 100, // filled polygon, lower right corner
		100,   0, // filled polygon, upper right corner
		 10,  10, // hole, upper left
		 90,  10, // hole, upper right
		 90,  90  // hole, lower right
	    };
	    int vertex_counts[] = {
	       4, // number of vertices for filled polygon
	       3, // number of vertices for hole
	       0  // terminator
	    };

     There are 7 vertices: four for an outer square from (0, 0) to (100, 100) in
     anti-clockwise order, and three more for an inner triangle in clockwise or-
     der.   The outer main polygon uses vertices 0 to 3 (inclusive) and the hole
     uses vertices 4 to 6 (inclusive).

SINCE
     5.1.0

SEE ALSO
     al_draw_filled_polygon(3), al_draw_filled_polygon_with_holes(3),  al_trian-
     gulate_polygon(3)

Allegro reference manual			     al_draw_fi..._with_holes(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=al_draw_filled_polygon_with_holes&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help