Fixed the remaining bugs from r339. Now we have a fully working gradiation rectangle system !
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@343 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
d016b8ba48
commit
a6774e5d73
5
graph.c
5
graph.c
@ -5268,11 +5268,12 @@ void Tracer_rectangle_degrade(short RAX,short RAY,short RBX,short RBY,short VAX,
|
||||
}
|
||||
else
|
||||
{
|
||||
short a,b;
|
||||
float a;
|
||||
float b;
|
||||
int Distance_X, Distance_Y;
|
||||
|
||||
Degrade_Intervalle_total = sqrt(pow(VBY - VAY,2)+pow(VBX - VAX,2));
|
||||
a = (VBY - VAY)/(VBX - VAX);
|
||||
a = (float)(VBY - VAY)/(float)(VBX - VAX);
|
||||
b = VAY - a*VAX;
|
||||
|
||||
for (Pos_Y=RAY;Pos_Y<=RBY;Pos_Y++)
|
||||
|
||||
@ -4263,18 +4263,19 @@ void Rectangle_Degrade_0_5(void)
|
||||
if (Max(RAX,RBX)-Principal_Decalage_X > Min(Principal_Largeur_image,Loupe_Mode?Principal_Split:Largeur_ecran)) // Tous les clippings à gérer sont là
|
||||
decalage_largeur = Max(RAX,RBX) - Min(Principal_Largeur_image,Loupe_Mode?Principal_Split:Largeur_ecran);
|
||||
|
||||
if (Max(RAY,RBY)-Principal_Decalage_Y > Menu_Ordonnee)
|
||||
decalage_hauteur = Max(RAY,RBY) - Menu_Ordonnee;
|
||||
if (Max(RAY,RBY)-Principal_Decalage_Y > Min(Principal_Hauteur_image,Menu_Ordonnee))
|
||||
decalage_hauteur = Max(RAY,RBY) - Min(Principal_Hauteur_image,Menu_Ordonnee);
|
||||
|
||||
// Dessin dans la zone de dessin normale
|
||||
Ligne_horizontale_XOR(Min(RAX,RBX)-Principal_Decalage_X,Min(RAY,RBY)-Principal_Decalage_Y,largeur - decalage_largeur);
|
||||
if(decalage_hauteur == 0)
|
||||
Ligne_horizontale_XOR(Min(RAX,RBX)-Principal_Decalage_X,Max(RAY,RBY)-1-Principal_Decalage_Y,largeur - decalage_largeur);
|
||||
|
||||
Ligne_verticale_XOR(Min(RAX,RBX)-Principal_Decalage_X,Min(RAY,RBY)-Principal_Decalage_Y,hauteur-decalage_hauteur);
|
||||
if (decalage_largeur == 0) // Sinon cette ligne est en dehors de la zone image, inutile de la dessiner
|
||||
Ligne_verticale_XOR(Max(RAX,RBX)-1-Principal_Decalage_X,Min(RAY,RBY)-Principal_Decalage_Y,hauteur-decalage_hauteur);
|
||||
|
||||
UpdateRect(Min(RAX,RBX)-Principal_Decalage_X,Min(RAY,RBY)-Principal_Decalage_Y,largeur+1-decalage_largeur,hauteur+1-decalage_largeur);
|
||||
UpdateRect(Min(RAX,RBX)-Principal_Decalage_X,Min(RAY,RBY)-Principal_Decalage_Y,largeur+1-decalage_largeur,hauteur+1-decalage_hauteur);
|
||||
|
||||
// Dessin dans la zone zoomée
|
||||
if(Loupe_Mode)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user