Hopefully correct Mettre_Ecran_A_Jour for zoom. Still buggy in the colour brush, going on to check that

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@220 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Adrien Destugues
2008-10-09 19:05:21 +00:00
parent fe249a3c7d
commit 393ced7451
3 changed files with 4 additions and 34 deletions

13
graph.c
View File

@@ -79,26 +79,21 @@ void Mettre_Ecran_A_Jour(short X, short Y, short Largeur, short Hauteur)
// Et ensuite dans la partie zoomée
if(Loupe_Mode)
{
X_effectif = Min(Max((X-Loupe_Decalage_X+2)*Loupe_Facteur,0) + Principal_Split, Largeur_ecran);
X_effectif = Min(Max((X-Loupe_Decalage_X + 1)*Loupe_Facteur + 2 + Principal_Split + LARGEUR_BARRE_SPLIT,0), Largeur_ecran);
Y_effectif = Min(Max(Y-Loupe_Decalage_Y,0) * Loupe_Facteur, Menu_Ordonnee);
Largeur *= Loupe_Facteur;
Largeur *= Loupe_Facteur / 2; // ???!
Hauteur *= Loupe_Facteur;
// Normalement il ne faudrait pas updater au delà du split quand on est en mode loupe,
// mais personne ne devrait demander d'update en dehors de cette limite, même le fill est contraint
// a rester dans la zone visible de l'image
if(X_effectif + Largeur < Largeur_ecran) L_effectif = Largeur + 2 * Menu_Facteur_X;
if(X_effectif + Largeur < Largeur_ecran) L_effectif = (Largeur+2) * Menu_Facteur_X;
else L_effectif = Largeur_ecran - X_effectif;
if(Y_effectif + Hauteur <= Menu_Ordonnee) H_effectif = Hauteur;
else H_effectif = Menu_Ordonnee - Y_effectif;
/*
DEBUG("X ",X_effectif);
DEBUG("Y ",Y_effectif);
DEBUG("L ",L_effectif);
DEBUG("H ",H_effectif);
*/
SDL_UpdateRect(Ecran_SDL,X_effectif,Y_effectif,L_effectif,H_effectif);
}
}