Fixes a SIGSEGV when using line,polyline,polygon etc. with a starting point below the picture (outside).
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@405 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
28805017a2
commit
8862c1994f
9
graph.c
9
graph.c
@ -800,6 +800,15 @@ void Remplir(byte Couleur_de_remplissage)
|
||||
(Pos_Y<=Limite_Bas) )
|
||||
Pixel_Preview(Pos_X,Pos_Y,Couleur);
|
||||
}
|
||||
// Affichage d'un point pour une preview, avec sa propre couleur
|
||||
void Pixel_figure_Preview_auto(word Pos_X,word Pos_Y)
|
||||
{
|
||||
if ( (Pos_X>=Limite_Gauche) &&
|
||||
(Pos_X<=Limite_Droite) &&
|
||||
(Pos_Y>=Limite_Haut) &&
|
||||
(Pos_Y<=Limite_Bas) )
|
||||
Pixel_Preview(Pos_X,Pos_Y,Lit_pixel_dans_ecran_courant(Pos_X,Pos_Y));
|
||||
}
|
||||
|
||||
// Affichage d'un point pour une preview en xor
|
||||
void Pixel_figure_Preview_xor(word Pos_X,word Pos_Y,__attribute__((unused)) byte Couleur)
|
||||
|
||||
1
graph.h
1
graph.h
@ -50,6 +50,7 @@ void Remplir(byte Couleur_de_remplissage);
|
||||
void Remplacer(byte Nouvelle_couleur);
|
||||
|
||||
void Pixel_figure_Preview (word Pos_X,word Pos_Y,byte Couleur);
|
||||
void Pixel_figure_Preview_auto(word Pos_X,word Pos_Y);
|
||||
void Pixel_figure_Preview_xor(word Pos_X,word Pos_Y,byte Couleur);
|
||||
void Pixel_figure_Dans_brosse(word Pos_X,word Pos_Y,byte Couleur);
|
||||
|
||||
|
||||
12
operatio.c
12
operatio.c
@ -523,7 +523,7 @@ void Ligne_0_5(void)
|
||||
|
||||
Pinceau_Forme=Pinceau_Forme_avant_operation;
|
||||
|
||||
Pixel_figure_Preview (Debut_X,Debut_Y,Lit_pixel_dans_ecran_courant(Debut_X,Debut_Y));
|
||||
Pixel_figure_Preview_auto (Debut_X,Debut_Y);
|
||||
Effacer_ligne_Preview (Debut_X,Debut_Y,Fin_X,Fin_Y);
|
||||
Afficher_pinceau (Debut_X,Debut_Y,Couleur,0);
|
||||
Tracer_ligne_Definitif(Debut_X,Debut_Y,Fin_X,Fin_Y,Couleur);
|
||||
@ -636,7 +636,7 @@ void K_Ligne_0_6(void)
|
||||
if ((Config.Coords_rel) && (Menu_visible))
|
||||
Print_dans_menu("X:± 0 Y:± 0",0);
|
||||
|
||||
Pixel_figure_Preview (Debut_X,Debut_Y,Lit_pixel_dans_ecran_courant(Debut_X,Debut_Y));
|
||||
Pixel_figure_Preview_auto (Debut_X,Debut_Y);
|
||||
Effacer_ligne_Preview (Debut_X,Debut_Y,Fin_X,Fin_Y);
|
||||
|
||||
Pinceau_Forme=Pinceau_Forme_avant_operation;
|
||||
@ -695,7 +695,7 @@ void K_Ligne_12_7(void)
|
||||
{
|
||||
// La série de ligne est terminée, il faut donc effacer la dernière
|
||||
// preview de ligne
|
||||
Pixel_figure_Preview (Debut_X,Debut_Y,Lit_pixel_dans_ecran_courant(Debut_X,Debut_Y));
|
||||
Pixel_figure_Preview_auto (Debut_X,Debut_Y);
|
||||
Effacer_ligne_Preview (Debut_X,Debut_Y,Fin_X,Fin_Y);
|
||||
|
||||
Afficher_curseur();
|
||||
@ -2160,7 +2160,7 @@ void Polygone_12_9(void)
|
||||
{
|
||||
// La série de ligne est terminée, il faut donc effacer la dernière
|
||||
// preview de ligne et relier le dernier point avec le premier
|
||||
Pixel_figure_Preview (Debut_X,Debut_Y,Lit_pixel_dans_ecran_courant(Debut_X,Debut_Y));
|
||||
Pixel_figure_Preview_auto (Debut_X,Debut_Y);
|
||||
Effacer_ligne_Preview (Debut_X,Debut_Y,Fin_X,Fin_Y);
|
||||
Operation_POP(&Fin_Y);
|
||||
Operation_POP(&Fin_X);
|
||||
@ -4561,7 +4561,7 @@ void Lignes_centrees_12_7(void)
|
||||
|
||||
Pinceau_Forme=Pinceau_Forme_avant_operation;
|
||||
|
||||
Pixel_figure_Preview (Debut_X,Debut_Y,Lit_pixel_dans_ecran_courant(Debut_X,Debut_Y));
|
||||
Pixel_figure_Preview_auto (Debut_X,Debut_Y);
|
||||
Effacer_ligne_Preview (Debut_X,Debut_Y,Dernier_X,Dernier_Y);
|
||||
|
||||
Smear_Debut=1;
|
||||
@ -4589,7 +4589,7 @@ void Lignes_centrees_12_7(void)
|
||||
|
||||
Pinceau_Forme=Pinceau_Forme_avant_operation;
|
||||
|
||||
Pixel_figure_Preview (Debut_X,Debut_Y,Lit_pixel_dans_ecran_courant(Debut_X,Debut_Y));
|
||||
Pixel_figure_Preview_auto (Debut_X,Debut_Y);
|
||||
Effacer_ligne_Preview (Debut_X,Debut_Y,Dernier_X,Dernier_Y);
|
||||
|
||||
if ( (Config.Coords_rel) && (Menu_visible) )
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user