From fb6d1100dc1f514a30c24c643561e16c66ae740f Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Wed, 17 Dec 2008 20:58:59 +0000 Subject: [PATCH] Lines will refresh instantly when you press shift, but, strangely, not when you release it. git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@400 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- operatio.c | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) 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); + } }