do_arc(3)
π« do_arc(3) β bestie edition π«
Allegro manual Β· do_arc Β· Allegro game programming library
okay so picture this: you want an arc, and you want it custom. do_arc is literally the girl who walks the whole arc for you and calls your function at every single point along the way. she's giving personalized. she's giving bespoke. π
β¨ NAME β¨
do_arc β Calculates all the points in a circular arc. Allegro game programming library.
πΈ SYNOPSIS πΈ
#include <allegro.h>
void do_arc(BITMAP *bmp, int x, int y, fixed a1, fixed a2, int r, int d,
void (*proc)(BITMAP *bmp, int x, int y, int d));
π DESCRIPTION π
So basically: it calculates all the points in a circular arc around point (x, y) with radius r, and for each one it calls the function you hand it. Every. Single. Point. She's thorough, she's dedicated, she's your girl. π«Ά
That function gets passed:
- a copy of the
bmpparameter - the
xandyposition - a copy of the
dparameter
which means it is suitable for use with putpixel(). it's giving "designed for exactly this". π
The arc gets plotted in an anticlockwise direction, starting from the angle a1 and ending when it reaches a2. These values are specified in 16.16 fixed point format, with 256 equal to a full circle, 64 a right angle, etc. Zero is to the right of the centre point, and larger values rotate anticlockwise from there.
Example, bestie:
void draw_explosion_ring(BITMAP *bmp, int x, int y, int d)
{
...
}
do_arc(screen, SCREEN_W/2, SCREEN_H/2,
itofix(-21), itofix(43), 50, flame_color,
draw_explosion_ring);
like. an explosion ring. via a callback. that's main character energy fr fr. π₯
π SEE ALSO π
k bye bestie, go draw something gorgeous πβ¨πΈπ¦π
this has been Allegro, version 4.4.3, and yeah that date is right there in the footer: do_arc(3) π
π¦ where this page comes from
- fedora 43: allegro-devel 4.4.3.1-18.fc43 Β· Giftware
- fedora 43: allegro-devel 4.4.3.1-18.fc43 Β· Giftware
- fedora 44: allegro-devel 4.4.3.1-20.fc44 Β· Giftware
- fedora 44: allegro-devel 4.4.3.1-20.fc44 Β· Giftware
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms