From 6b97fcc32273c62047302488f9782f75e6b4348d Mon Sep 17 00:00:00 2001 From: Thomas Bernard Date: Sat, 3 Mar 2018 01:47:28 +0100 Subject: [PATCH] Remove Ellipse_cursor_X/Y and Circle_cursor_X/Y global variables --- src/global.h | 4 --- src/graph.c | 78 +++++++++++++++++++++++++++------------------------- 2 files changed, 41 insertions(+), 41 deletions(-) diff --git a/src/global.h b/src/global.h index fdf28ddf..c4ce0be3 100644 --- a/src/global.h +++ b/src/global.h @@ -568,13 +568,9 @@ GFX2_GLOBAL byte Mask_table[256]; // -- Data for ellipses and circles // FIXME: move most of these to graph.c -GFX2_GLOBAL long Ellipse_cursor_X; -GFX2_GLOBAL long Ellipse_cursor_Y; GFX2_GLOBAL long Ellipse_vertical_radius_squared; GFX2_GLOBAL long Ellipse_horizontal_radius_squared; GFX2_GLOBAL qword Ellipse_limit; -GFX2_GLOBAL long Circle_cursor_X; -GFX2_GLOBAL long Circle_cursor_Y; GFX2_GLOBAL long Circle_limit; // -- Data for gradients diff --git a/src/graph.c b/src/graph.c index 2f52b093..1392c577 100644 --- a/src/graph.c +++ b/src/graph.c @@ -79,10 +79,10 @@ static void Ellipse_compute_limites(short horizontal_radius,short vertical_radiu // Ellipse_cursor_Y pixels (Ellipse_cursor_Y>0 = en bas, // Ellipse_cursor_Y<0 = en haut) du centre se trouve dans l'ellipse en // cours. -static byte Pixel_in_ellipse(void) +static byte Pixel_in_ellipse(long x, long y) { - qword ediesi = (qword)Ellipse_cursor_X * Ellipse_cursor_X * Ellipse_vertical_radius_squared + - (qword)Ellipse_cursor_Y * Ellipse_cursor_Y * Ellipse_horizontal_radius_squared; + qword ediesi = (qword)x * x * Ellipse_vertical_radius_squared + + (qword)y * y * Ellipse_horizontal_radius_squared; if((ediesi) <= Ellipse_limit) return 255; return 0; @@ -93,10 +93,9 @@ static byte Pixel_in_ellipse(void) // Circle_cursor_Y pixels (Circle_cursor_Y>0 = en bas, // Circle_cursor_Y<0 = en haut) du centre se trouve dans le cercle en // cours. -static byte Pixel_in_circle(void) +static byte Pixel_in_circle(long x, long y) { - if(Circle_cursor_X * Circle_cursor_X + - Circle_cursor_Y * Circle_cursor_Y <= Circle_limit) + if((x * x + y * y) <= Circle_limit) return 255; return 0; } @@ -1215,15 +1214,16 @@ void Draw_empty_circle_general(short center_x,short center_y,short radius,byte c short start_y; short x_pos; short y_pos; + long x, y; // Ensuite, on va parcourire le quart haut gauche du cercle start_x=center_x-radius; start_y=center_y-radius; // Affichage des extremitées du cercle sur chaque quart du cercle: - for (y_pos=start_y,Circle_cursor_Y=-radius;y_pos