(Linux and Windows) Fix missing refresh that happened when zoom was on and you were drawing in the left part of screen.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@411 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud 2008-12-22 18:44:02 +00:00
parent c1af3faac2
commit 7247b83007

16
graph.c
View File

@ -122,23 +122,37 @@ void Mettre_Ecran_A_Jour(short X, short Y, short Largeur, short Hauteur)
if (X_effectif < 0) if (X_effectif < 0)
{ {
L_effectif+=X_effectif; L_effectif+=X_effectif;
if (L_effectif<0)
return;
X_effectif = Principal_Split + LARGEUR_BARRE_SPLIT*Menu_Facteur_X; X_effectif = Principal_Split + LARGEUR_BARRE_SPLIT*Menu_Facteur_X;
} }
else else
X_effectif += Principal_Split + LARGEUR_BARRE_SPLIT*Menu_Facteur_X; X_effectif += Principal_Split + LARGEUR_BARRE_SPLIT*Menu_Facteur_X;
Diff = X_effectif+L_effectif-Largeur_ecran; Diff = X_effectif+L_effectif-Largeur_ecran;
if (Diff>0) if (Diff>0)
{
L_effectif -=Diff; L_effectif -=Diff;
if (L_effectif<0)
return;
}
// Clipping en Y // Clipping en Y
if (Y_effectif < 0) if (Y_effectif < 0)
{ {
H_effectif+=Y_effectif; H_effectif+=Y_effectif;
if (H_effectif<0)
return;
Y_effectif = 0; Y_effectif = 0;
} }
Diff = Y_effectif+H_effectif-Menu_Ordonnee; Diff = Y_effectif+H_effectif-Menu_Ordonnee;
if (Diff>0) if (Diff>0)
{
H_effectif -=Diff; H_effectif -=Diff;
if (H_effectif<0)
return;
}
// Très utile pour le debug :) // Très utile pour le debug :)
/*SDL_Rect r; /*SDL_Rect r;
@ -734,7 +748,7 @@ void Remplir(byte Couleur_de_remplissage)
Copier_une_partie_d_image_dans_une_autre(Ecran_backup, // Source Copier_une_partie_d_image_dans_une_autre(Ecran_backup, // Source
Limite_Gauche,Limite_Haut, // Pos X et Y dans source Limite_Gauche,Limite_Haut, // Pos X et Y dans source
(Limite_Droite-Limite_Gauche)+1, // Largeur copie (Limite_Droite-Limite_Gauche)+1, // Largeur copie
Limite_atteinte_Haut-Limite_Haut, // Hauteur copie Limite_atteinte_Haut-Limite_Haut,// Hauteur copie
Principal_Largeur_image, // Largeur de la source Principal_Largeur_image, // Largeur de la source
Principal_Ecran, // Destination Principal_Ecran, // Destination
Limite_Gauche,Limite_Haut, // Pos X et Y destination Limite_Gauche,Limite_Haut, // Pos X et Y destination