---
name: "do_ellipse"
section: "3alleg4"
platform: "linux"
package: "allegro4-doc"
version: "2:4.4.3.1-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/do_ellipse/3alleg4"
---

# do\_ellipse(3alleg4)

Calculates all the points in an ellipse. Allegro game programming library.

## NAME

do\_ellipse - Calculates all the points in an ellipse. Allegro game programming library.

## SYNOPSIS

**#include \<allegro.h\>**

**void do\_ellipse(BITMAP \*bmp, int x, int y, int rx, ry, int d,** **void (\*proc)(BITMAP \*bmp, int x, int y, int d));**

## DESCRIPTION

Calculates all the points in an ellipse around point (x, y) with radius  rx and ry, calling the supplied function for each one. This will be  passed a copy of the bmp parameter, the x and y position, and a copy of  the d parameter, so it is suitable for use with putpixel(). Example:

```
   void draw_explosion_ring(BITMAP *bmp, int x, int y, int d)
   {
      ...
   }
      do_ellipse(screen, SCREEN_W/2, SCREEN_H/2,
                SCREEN_H/16, SCREEN_H/32, flame_color,
                draw_explosion_ring);
```

## SEE ALSO

**do\_circle**(3alleg4), **do\_arc**(3alleg4), **do\_line**(3alleg4), **ellipse**(3alleg4), **ellipsefill**(3alleg4)
