Fix incomplete display of brush at screen edges in zoom mode (issue 53

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@358 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud 2008-11-23 16:54:18 +00:00
parent d71d7d701d
commit a723537d94

21
graph.c
View File

@ -68,28 +68,37 @@ void Mettre_Ecran_A_Jour(short X, short Y, short Largeur, short Hauteur)
Diff = X-Principal_Decalage_X; Diff = X-Principal_Decalage_X;
if (Diff<0) if (Diff<0)
{ {
Largeur += Diff; L_effectif = Largeur + Diff;
X_effectif = 0; X_effectif = 0;
} }
else else
{
L_effectif = Largeur;
X_effectif = Diff; X_effectif = Diff;
}
Diff = Y-Principal_Decalage_Y; Diff = Y-Principal_Decalage_Y;
if (Diff<0) if (Diff<0)
{ {
Hauteur += Diff; H_effectif = Hauteur + Diff;
Y_effectif = 0; Y_effectif = 0;
} }
else else
{
H_effectif = Hauteur;
Y_effectif = Diff; Y_effectif = Diff;
}
// Normalement il ne faudrait pas updater au delà du split quand on est en mode loupe, // 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 // 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 // a rester dans la zone visible de l'image
if(X_effectif + Largeur <= Largeur_ecran) L_effectif = Largeur; // ...Sauf l'affichage de brosse en preview - yr
else L_effectif = Largeur_ecran - X_effectif; if(Loupe_Mode && X_effectif + L_effectif > Principal_Split)
L_effectif = Principal_Split - X_effectif;
else if(X_effectif + L_effectif > Largeur_ecran)
L_effectif = Largeur_ecran - X_effectif;
if(Y_effectif + Hauteur <= Menu_Ordonnee) H_effectif = Hauteur; if(Y_effectif + H_effectif > Menu_Ordonnee)
else H_effectif = Menu_Ordonnee - Y_effectif; H_effectif = Menu_Ordonnee - Y_effectif;
/* /*
SDL_Rect r; SDL_Rect r;
r.x=X_effectif; r.x=X_effectif;