diff --git a/operatio.c b/operatio.c index a15821cc..c79d1729 100644 --- a/operatio.c +++ b/operatio.c @@ -451,15 +451,19 @@ void Ligne_12_5(void) Operation_POP(&Fin_Y); Operation_POP(&Fin_X); + Operation_POP(&Debut_Y); + Operation_POP(&Debut_X); + // On corrige les coordonnées de la ligne si la touche shift est appuyée... + if(SDL_GetModState() & KMOD_SHIFT) + { + Rectifier_coordonnees_a_45_degres(Debut_X,Debut_Y,&Pinceau_X,&Pinceau_Y); + } + + // On vient de bouger if ((Pinceau_X!=Fin_X) || (Pinceau_Y!=Fin_Y)) { - Effacer_curseur(); - Operation_POP(&Debut_Y); - Operation_POP(&Debut_X); - // On corrige les coordonnées de la ligne si la touche shift est appuyée... - if(SDL_GetModState() & KMOD_SHIFT) - Rectifier_coordonnees_a_45_degres(Debut_X,Debut_Y,&Pinceau_X,&Pinceau_Y); + Effacer_curseur(); Aff_coords_rel_ou_abs(Debut_X,Debut_Y); @@ -477,11 +481,18 @@ void Ligne_12_5(void) Operation_PUSH(Debut_X); Operation_PUSH(Debut_Y); + Operation_PUSH(Pinceau_X); + Operation_PUSH(Pinceau_Y); + Afficher_curseur(); } - - Operation_PUSH(Pinceau_X); - Operation_PUSH(Pinceau_Y); + else + { + Operation_PUSH(Debut_X); + Operation_PUSH(Debut_Y); + Operation_PUSH(Fin_X); + Operation_PUSH(Fin_Y); + } }