Removed the useless "squares table" wich only worked for resolutions <= 1024 px.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@245 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Adrien Destugues 2008-10-13 19:38:58 +00:00
parent c4be0a319a
commit 0bbed15383
4 changed files with 6 additions and 22 deletions

View File

@ -420,9 +420,9 @@ void Ellipse_Calculer_limites(short Rayon_horizontal,short Rayon_vertical)
{
uint64_t Ellipse_Limite;
Ellipse_Rayon_horizontal_au_carre =
Table_des_carres[Rayon_horizontal];
Rayon_horizontal * Rayon_horizontal;
Ellipse_Rayon_vertical_au_carre =
Table_des_carres[Rayon_vertical];
Rayon_vertical * Rayon_vertical;
Ellipse_Limite = Ellipse_Rayon_horizontal_au_carre * Ellipse_Rayon_vertical_au_carre;
Ellipse_Limite_Low = Ellipse_Limite & 0xFFFFFFFF;
Ellipse_Limite >>= 32;
@ -431,10 +431,8 @@ void Ellipse_Calculer_limites(short Rayon_horizontal,short Rayon_vertical)
byte Pixel_dans_ellipse(void)
{
uint64_t ediesi = Table_des_carres[abs(Ellipse_Curseur_X)] *
(Ellipse_Rayon_vertical_au_carre) +
Table_des_carres[abs(Ellipse_Curseur_Y)] *
(Ellipse_Rayon_horizontal_au_carre);
uint64_t ediesi = Ellipse_Curseur_X * Ellipse_Curseur_X * Ellipse_Rayon_vertical_au_carre +
Ellipse_Curseur_Y * Ellipse_Curseur_Y * Ellipse_Rayon_horizontal_au_carre;
if((ediesi >> 32) <= Ellipse_Limite_High &&
(ediesi & 0xFFFFFFFF) <= Ellipse_Limite_Low) return 255;
@ -443,8 +441,8 @@ byte Pixel_dans_ellipse(void)
byte Pixel_dans_cercle(void)
{
if((Table_des_carres[abs(Cercle_Curseur_X)] +
Table_des_carres[abs(Cercle_Curseur_Y)] ) <= Cercle_Limite)
if(Cercle_Curseur_X * Cercle_Curseur_X +
Cercle_Curseur_Y * Cercle_Curseur_Y <= Cercle_Limite)
return 255;
return 0;
}

View File

@ -489,7 +489,6 @@ GLOBAL word TABLE_ZOOM[NB_FACTEURS_DE_ZOOM][512];
// Données sur les ellipses et les cercles:
GLOBAL dword Table_des_carres[1025];
GLOBAL long Ellipse_Curseur_X;
GLOBAL long Ellipse_Curseur_Y;
GLOBAL long Ellipse_Rayon_vertical_au_carre;

10
init.c
View File

@ -2089,16 +2089,6 @@ void Initialiser_les_tables_de_multiplication(void)
}
}
void Initialiser_la_table_des_carres(void)
{
long Indice;
for (Indice=0;Indice<1025;Indice++)
Table_des_carres[Indice]=(Indice*Indice);
}
void Initialiser_la_table_precalculee_des_distances_de_couleur(void)
{
int Indice;

3
main.c
View File

@ -359,9 +359,6 @@ void Initialisation_du_programme(int argc,char * argv[])
Forcer_affichage_curseur=0;
// On initialise la table des carrés:
Initialiser_la_table_des_carres();
// On initialise tout ce qui concerne les opérations et les effets
Operation_Taille_pile=0;
Mode_de_dessin_en_cours=OPERATION_DESSIN_CONTINU;