circle drawing
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@62 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
bf4c695deb
commit
0797a72c70
16
divers.c
16
divers.c
@ -389,40 +389,42 @@ void Pixel_dans_ecran_courant (word X,word Y,byte Couleur)
|
||||
|
||||
void Remplacer_une_couleur(byte Ancienne_couleur, byte Nouvelle_couleur)
|
||||
{
|
||||
puts("Remplacer_une_couleur non implémenté!");
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
void Ellipse_Calculer_limites(short Rayon_horizontal,short Rayon_vertical)
|
||||
{
|
||||
puts("Ellipse_Calculer_limites non implémenté!");
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
byte Pixel_dans_ellipse(void)
|
||||
{
|
||||
puts("Pixel_dans_ellipse non implémenté!");
|
||||
UNIMPLEMENTED
|
||||
return 0;
|
||||
}
|
||||
|
||||
byte Pixel_dans_cercle(void)
|
||||
{
|
||||
puts("Pixel_dans_cercle non implémenté!");
|
||||
if((Table_des_carres[abs(Cercle_Curseur_X)] +
|
||||
Table_des_carres[abs(Cercle_Curseur_Y)] ) <= Cercle_Limite)
|
||||
return 255;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Copier_une_partie_d_image_dans_une_autre(byte * Source,word S_Pos_X,word S_Pos_Y,word Largeur,word Hauteur,word Largeur_source,byte * Destination,word D_Pos_X,word D_Pos_Y,word Largeur_destination)
|
||||
{
|
||||
puts("Copier_une_partie_d_image_dans_une_autre non implémenté!");
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
byte Lit_pixel_dans_ecran_brouillon(word X,word Y)
|
||||
{
|
||||
puts("Lit_pixel_dans_ecran_brouillon non implémenté!");
|
||||
UNIMPLEMENTED
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Rotate_90_deg_LOWLEVEL(byte * Source,byte * Destination)
|
||||
{
|
||||
puts("Rotate_90_deg_LOWLEVEL non implémenté!");
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
void Remap_general_LOWLEVEL(byte * Table_conv,byte * Buffer,short Largeur,short Hauteur,short Largeur_buffer)
|
||||
|
||||
19
graph.c
19
graph.c
@ -2171,6 +2171,8 @@ void Ligne_horizontale_XOR_Zoom(short Pos_X, short Pos_Y, short Largeur)
|
||||
|
||||
for (Indice=Pos_Y_reelle; Indice<Pos_Y_Fin; Indice++)
|
||||
Ligne_horizontale_XOR(Pos_X_reelle,Indice,Largeur_reelle);
|
||||
|
||||
SDL_UpdateRect(Ecran_SDL,Pos_X_reelle,Pos_Y_reelle,Largeur_reelle,Pos_Y_Fin-Pos_Y_reelle);
|
||||
}
|
||||
|
||||
|
||||
@ -2185,6 +2187,8 @@ void Ligne_verticale_XOR_Zoom(short Pos_X, short Pos_Y, short Hauteur)
|
||||
|
||||
for (Indice=Pos_Y_reelle; Indice<Pos_Y_Fin; Indice++)
|
||||
Ligne_horizontale_XOR(Pos_X_reelle,Indice,Loupe_Facteur);
|
||||
|
||||
SDL_UpdateRect(Ecran_SDL,Pos_X_reelle,Pos_Y_reelle,Loupe_Facteur,Pos_Y_Fin-Pos_Y_reelle);
|
||||
}
|
||||
|
||||
|
||||
@ -4018,6 +4022,9 @@ void Tracer_cercle_vide_General(short Centre_X,short Centre_Y,short Rayon,byte C
|
||||
Pixel_figure(Centre_X-Rayon,Centre_Y,Couleur); // Gauche
|
||||
Pixel_figure(Centre_X+Rayon,Centre_Y,Couleur); // Droite
|
||||
Pixel_figure(Centre_X,Centre_Y+Rayon,Couleur); // Bas
|
||||
|
||||
SDL_UpdateRect(Ecran_SDL,Centre_X-Rayon-Principal_Decalage_X,
|
||||
Centre_Y-Rayon-Principal_Decalage_Y,2*Rayon+1,2*Rayon+1);
|
||||
}
|
||||
|
||||
// -- Tracé définitif d'un cercle vide --
|
||||
@ -4075,6 +4082,9 @@ void Tracer_cercle_plein(short Centre_X,short Centre_Y,short Rayon,byte Couleur)
|
||||
for (Pos_X=Debut_X,Cercle_Curseur_X=(long)Debut_X-Centre_X;Pos_X<=Fin_X;Pos_X++,Cercle_Curseur_X++)
|
||||
if (Pixel_dans_cercle())
|
||||
Afficher_pixel(Pos_X,Pos_Y,Couleur);
|
||||
|
||||
SDL_UpdateRect(Ecran_SDL,Debut_X+Principal_Decalage_X,
|
||||
Debut_Y+Principal_Decalage_Y,Fin_X+1-Debut_X,Fin_Y+1-Debut_Y);
|
||||
}
|
||||
|
||||
|
||||
@ -4389,7 +4399,16 @@ void Tracer_rectangle_plein(short Debut_X,short Debut_Y,short Fin_X,short Fin_Y,
|
||||
// On trace le rectangle:
|
||||
for (Pos_Y=Debut_Y;Pos_Y<=Fin_Y;Pos_Y++)
|
||||
for (Pos_X=Debut_X;Pos_X<=Fin_X;Pos_X++)
|
||||
// Afficher_pixel traite chaque pixel avec tous les effets ! (smear, ...)
|
||||
// Donc on ne peut pas otimiser en traçant ligne par ligne avec memset :(
|
||||
Afficher_pixel(Pos_X,Pos_Y,Couleur);
|
||||
SDL_UpdateRect(Ecran_SDL,
|
||||
Debut_X-Principal_Decalage_X,
|
||||
Debut_Y-Principal_Decalage_Y,
|
||||
Fin_X-Debut_X,
|
||||
Fin_Y-Debut_Y);
|
||||
if(Loupe_Mode) UpdateZoom(Debut_X,Debut_Y,Fin_X-Debut_X,Fin_Y-Debut_Y);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user