From b0c8144f6060e33f9e99788d36cf1a9d30f314b8 Mon Sep 17 00:00:00 2001 From: Rudy Bousset Date: Wed, 19 Feb 2020 19:57:10 +0100 Subject: Cool circle --- src/ft_draw_circle.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'src/ft_draw_circle.c') diff --git a/src/ft_draw_circle.c b/src/ft_draw_circle.c index 32a1612..3e17dfa 100644 --- a/src/ft_draw_circle.c +++ b/src/ft_draw_circle.c @@ -18,24 +18,26 @@ void ft_draw_circle(int32_t a, int32_t b, int32_t color, t_cub *cl) { - const uint16_t scale = cl->mlist->scale / 2.5; - int x; - int y; + float scale; float i; float angle; float x1; float y1; - x = a; - y = b; - i = 0; - while (i < 360) + scale = cl->mlist->scale / 2.5; + while (scale > 0) { - angle = i; - x1 = scale * cos(angle * M_PI / 180); - y1 = scale * sin(angle * M_PI / 180); - *(int*)(cl->img.ptr + (x + (int)x1) * 4 + ((y + (int)y1) * cl->img.sizeline)) = color; - i += 0.1; + while (i < 360) + { + angle = i; + x1 = scale * cos(angle * M_PI / 180); + y1 = scale * sin(angle * M_PI / 180); + *(int*)(cl->img.ptr + (a + (int)x1) * 4 + + ((b + (int)y1) * cl->img.sizeline)) = color; + i += 0.1; + } + i = 0; + scale--; } } -- cgit v1.2.3