From 70a750e1879b6fd96800c9bf2ec8bb3e0ded4b46 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Tue, 14 Oct 2008 19:31:16 +0000 Subject: [PATCH] fixed screen update for cursor outside screen git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@252 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- boutons.c | 2 ++ graph.c | 30 +++++++++++++++++++----------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/boutons.c b/boutons.c index 13fd3418..c9ab1c3b 100644 --- a/boutons.c +++ b/boutons.c @@ -3631,6 +3631,8 @@ void Bouton_Loupe(void) // On passe en mode loupe Loupe_Mode=1; + DEBUG("plop",1); + // La fonction d'affichage dans la partie image est désormais un affichage // spécial loupe. Pixel_Preview=Pixel_Preview_Loupe; diff --git a/graph.c b/graph.c index d667aa30..3ec1c7a3 100644 --- a/graph.c +++ b/graph.c @@ -2407,7 +2407,7 @@ void Afficher_curseur(void) if (Fin_X<4) Ligne_horizontale_XOR(Mouse_X+3,Mouse_Y,4-Fin_X); - Fin_Y=(Mouse_Y+7>/*Menu_Ordonnee*/Hauteur_ecran)?Mouse_Y+7-/*Menu_Ordonnee*/Hauteur_ecran:0; + Fin_Y=(Mouse_Y+7>Hauteur_ecran)?Mouse_Y+7-Hauteur_ecran:0; if (Fin_Y<4) Ligne_verticale_XOR (Mouse_X,Mouse_Y+3,4-Fin_Y); @@ -2420,19 +2420,21 @@ void Afficher_curseur(void) Debut_Y=Mouse_Y-Curseur_Decalage_Y[Temp]; for (Pos_X=Debut_X,Compteur_X=0;Compteur_X<15;Pos_X++,Compteur_X++) + { + if( Pos_X < 0 ) continue; + else if (Pos_X > Largeur_ecran) break; for (Pos_Y=Debut_Y,Compteur_Y=0;Compteur_Y<15;Pos_Y++,Compteur_Y++) { + if( Pos_Y < 0 ) continue; + else if (Pos_Y > Hauteur_ecran) break; Couleur=SPRITE_CURSEUR[Temp][Compteur_Y][Compteur_X]; - if ( (Pos_X>=0) && (Pos_X=0) && (Pos_Y=Hauteur_ecran) break; for (Pos_X=Debut_X,Compteur_X=0;Compteur_X<15;Pos_X++,Compteur_X++) - if ( (Pos_X>=0) && (Pos_X=0) && (Pos_Y=Largeur_ecran) break; + Pixel(Pos_X,Pos_Y,FOND_CURSEUR[Compteur_Y][Compteur_X]); + } + } - SDL_UpdateRect(Ecran_SDL,Max(Debut_X,0),Max(Debut_Y,0),16,16); + SDL_UpdateRect(Ecran_SDL,Max(Debut_X,0),Max(Debut_Y,0),Pos_X-Debut_X,Pos_Y-Debut_Y); } } if (!Cacher_pinceau)