translations

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@690 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud
2009-03-23 02:33:21 +00:00
parent c324adfff2
commit f8c7c6730b
45 changed files with 2021 additions and 2023 deletions

326
brush.c
View File

@@ -93,10 +93,10 @@ void Calculer_dimensions_clipees_zoom(short * X,short * Y,short * width,short *
// -- Afficher le pinceau (de façon définitive ou non) --
void Afficher_pinceau(short X,short Y,byte Couleur,byte Preview)
void Afficher_pinceau(short X,short Y,byte Couleur,byte is_preview)
// X,Y: position du centre du pinceau
// Couleur: couleur à appliquer au pinceau
// Preview: "Il ne faut l'afficher qu'à l'écran"
// is_preview: "Il ne faut l'afficher qu'à l'écran"
{
short Debut_X; // Position X (dans l'image) à partir de laquelle on
// affiche la brosse/pinceau
@@ -110,8 +110,8 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte Preview)
// de laquelle on affiche la brosse/pinceau
short Debut_Compteur_Y; // Position Y (dans la brosse/pinceau) à partir
// de laquelle on affiche la brosse/pinceau
short Pos_X; // Position X (dans l'image) en cours d'affichage
short Pos_Y; // Position Y (dans l'image) en cours d'affichage
short x_pos; // Position X (dans l'image) en cours d'affichage
short y_pos; // Position Y (dans l'image) en cours d'affichage
short Compteur_X; // Position X (dans la brosse/pinceau) en cours
// d'affichage
short Compteur_Y; // Position Y (dans la brosse/pinceau) en cours
@@ -121,10 +121,10 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte Preview)
short Fin_Compteur_Y; // Position Y ou s'arrête l'affichade de la
// brosse/pinceau
byte Couleur_temporaire; // Couleur de la brosse en cours d'affichage
int Position;
int position;
byte * Temp;
if (!(Preview && Mouse_K)) // Si bouton enfoncé & preview > pas de dessin
if (!(is_preview && Mouse_K)) // Si bouton enfoncé & preview > pas de dessin
switch (Pinceau_Forme)
{
case FORME_PINCEAU_POINT : // !!! TOUJOURS EN PREVIEW !!!
@@ -152,7 +152,7 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte Preview)
Fin_Compteur_X=Debut_Compteur_X+width;
Fin_Compteur_Y=Debut_Compteur_Y+height;
if (Preview)
if (is_preview)
{
if ( (width>0) && (height>0) )
Display_brush_Color(
@@ -216,24 +216,24 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte Preview)
}
else
{
for (Pos_Y = Debut_Y, Compteur_Y = Debut_Compteur_Y;
for (y_pos = Debut_Y, Compteur_Y = Debut_Compteur_Y;
Compteur_Y < Fin_Compteur_Y;
Pos_Y++, Compteur_Y++
y_pos++, Compteur_Y++
)
for (Pos_X = Debut_X, Compteur_X = Debut_Compteur_X;
for (x_pos = Debut_X, Compteur_X = Debut_Compteur_X;
Compteur_X < Fin_Compteur_X;
Pos_X++, Compteur_X++
x_pos++, Compteur_X++
)
{
Couleur_temporaire = Lit_pixel_dans_ecran_courant(
Pos_X,Pos_Y
x_pos,y_pos
);
Position = (Compteur_Y * Smear_Brosse_Largeur)+ Compteur_X;
position = (Compteur_Y * Smear_Brosse_Largeur)+ Compteur_X;
if ( (Lit_pixel_dans_brosse(Compteur_X,Compteur_Y) != Back_color)
&& (Compteur_Y<Smear_Max_Y) && (Compteur_X<Smear_Max_X)
&& (Compteur_Y>=Smear_Min_Y) && (Compteur_X>=Smear_Min_X) )
Afficher_pixel(Pos_X,Pos_Y,Smear_Brosse[Position]);
Smear_Brosse[Position]=Couleur_temporaire;
Afficher_pixel(x_pos,y_pos,Smear_Brosse[position]);
Smear_Brosse[position]=Couleur_temporaire;
}
Mettre_Ecran_A_Jour(Debut_X,Debut_Y,width,height);
@@ -247,19 +247,19 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte Preview)
else
{
if (Shade_Table==Shade_Table_gauche)
for (Pos_Y=Debut_Y,Compteur_Y=Debut_Compteur_Y;Compteur_Y<Fin_Compteur_Y;Pos_Y++,Compteur_Y++)
for (Pos_X=Debut_X,Compteur_X=Debut_Compteur_X;Compteur_X<Fin_Compteur_X;Pos_X++,Compteur_X++)
for (y_pos=Debut_Y,Compteur_Y=Debut_Compteur_Y;Compteur_Y<Fin_Compteur_Y;y_pos++,Compteur_Y++)
for (x_pos=Debut_X,Compteur_X=Debut_Compteur_X;Compteur_X<Fin_Compteur_X;x_pos++,Compteur_X++)
{
Couleur_temporaire=Lit_pixel_dans_brosse(Compteur_X,Compteur_Y);
if (Couleur_temporaire!=Back_color)
Afficher_pixel(Pos_X,Pos_Y,Couleur_temporaire);
Afficher_pixel(x_pos,y_pos,Couleur_temporaire);
}
else
for (Pos_Y=Debut_Y,Compteur_Y=Debut_Compteur_Y;Compteur_Y<Fin_Compteur_Y;Pos_Y++,Compteur_Y++)
for (Pos_X=Debut_X,Compteur_X=Debut_Compteur_X;Compteur_X<Fin_Compteur_X;Pos_X++,Compteur_X++)
for (y_pos=Debut_Y,Compteur_Y=Debut_Compteur_Y;Compteur_Y<Fin_Compteur_Y;y_pos++,Compteur_Y++)
for (x_pos=Debut_X,Compteur_X=Debut_Compteur_X;Compteur_X<Fin_Compteur_X;x_pos++,Compteur_X++)
{
if (Lit_pixel_dans_brosse(Compteur_X,Compteur_Y)!=Back_color)
Afficher_pixel(Pos_X,Pos_Y,Couleur);
Afficher_pixel(x_pos,y_pos,Couleur);
}
}
Mettre_Ecran_A_Jour(Debut_X,Debut_Y,width,height);
@@ -276,7 +276,7 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte Preview)
Debut_Compteur_Y=Debut_Y-(Y-Brosse_Decalage_Y);
Fin_Compteur_X=Debut_Compteur_X+width;
Fin_Compteur_Y=Debut_Compteur_Y+height;
if (Preview)
if (is_preview)
{
if ( (width>0) && (height>0) )
Display_brush_Mono(Debut_X-Principal_Decalage_X,
@@ -335,16 +335,16 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte Preview)
}
else
{
for (Pos_Y=Debut_Y,Compteur_Y=Debut_Compteur_Y;Compteur_Y<Fin_Compteur_Y;Pos_Y++,Compteur_Y++)
for (Pos_X=Debut_X,Compteur_X=Debut_Compteur_X;Compteur_X<Fin_Compteur_X;Pos_X++,Compteur_X++)
for (y_pos=Debut_Y,Compteur_Y=Debut_Compteur_Y;Compteur_Y<Fin_Compteur_Y;y_pos++,Compteur_Y++)
for (x_pos=Debut_X,Compteur_X=Debut_Compteur_X;Compteur_X<Fin_Compteur_X;x_pos++,Compteur_X++)
{
Couleur_temporaire=Lit_pixel_dans_ecran_courant(Pos_X,Pos_Y);
Position=(Compteur_Y*Smear_Brosse_Largeur)+Compteur_X;
Couleur_temporaire=Lit_pixel_dans_ecran_courant(x_pos,y_pos);
position=(Compteur_Y*Smear_Brosse_Largeur)+Compteur_X;
if ( (Lit_pixel_dans_brosse(Compteur_X,Compteur_Y)!=Back_color)
&& (Compteur_Y<Smear_Max_Y) && (Compteur_X<Smear_Max_X)
&& (Compteur_Y>=Smear_Min_Y) && (Compteur_X>=Smear_Min_X) )
Afficher_pixel(Pos_X,Pos_Y,Smear_Brosse[Position]);
Smear_Brosse[Position]=Couleur_temporaire;
Afficher_pixel(x_pos,y_pos,Smear_Brosse[position]);
Smear_Brosse[position]=Couleur_temporaire;
}
Mettre_Ecran_A_Jour(Debut_X,Debut_Y,width,height);
@@ -358,11 +358,11 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte Preview)
}
else
{
for (Pos_Y=Debut_Y,Compteur_Y=Debut_Compteur_Y;Compteur_Y<Fin_Compteur_Y;Pos_Y++,Compteur_Y++)
for (Pos_X=Debut_X,Compteur_X=Debut_Compteur_X;Compteur_X<Fin_Compteur_X;Pos_X++,Compteur_X++)
for (y_pos=Debut_Y,Compteur_Y=Debut_Compteur_Y;Compteur_Y<Fin_Compteur_Y;y_pos++,Compteur_Y++)
for (x_pos=Debut_X,Compteur_X=Debut_Compteur_X;Compteur_X<Fin_Compteur_X;x_pos++,Compteur_X++)
{
if (Lit_pixel_dans_brosse(Compteur_X,Compteur_Y)!=Back_color)
Afficher_pixel(Pos_X,Pos_Y,Couleur);
Afficher_pixel(x_pos,y_pos,Couleur);
}
Mettre_Ecran_A_Jour(Debut_X,Debut_Y,width,height);
}
@@ -378,7 +378,7 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte Preview)
Debut_Compteur_Y=Debut_Y-(Y-Pinceau_Decalage_Y);
Fin_Compteur_X=Debut_Compteur_X+width;
Fin_Compteur_Y=Debut_Compteur_Y+height;
if (Preview)
if (is_preview)
{
Temp=Brosse;
Brosse=Pinceau_Sprite;
@@ -440,16 +440,16 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte Preview)
}
else
{
for (Pos_Y=Debut_Y,Compteur_Y=Debut_Compteur_Y;Compteur_Y<Fin_Compteur_Y;Pos_Y++,Compteur_Y++)
for (Pos_X=Debut_X,Compteur_X=Debut_Compteur_X;Compteur_X<Fin_Compteur_X;Pos_X++,Compteur_X++)
for (y_pos=Debut_Y,Compteur_Y=Debut_Compteur_Y;Compteur_Y<Fin_Compteur_Y;y_pos++,Compteur_Y++)
for (x_pos=Debut_X,Compteur_X=Debut_Compteur_X;Compteur_X<Fin_Compteur_X;x_pos++,Compteur_X++)
{
Couleur_temporaire=Lit_pixel_dans_ecran_courant(Pos_X,Pos_Y);
Position=(Compteur_Y*Smear_Brosse_Largeur)+Compteur_X;
Couleur_temporaire=Lit_pixel_dans_ecran_courant(x_pos,y_pos);
position=(Compteur_Y*Smear_Brosse_Largeur)+Compteur_X;
if ( (Pinceau_Sprite[(TAILLE_MAXI_PINCEAU*Compteur_Y)+Compteur_X]) // Le pinceau sert de masque pour dire quels pixels on doit traiter dans le rectangle
&& (Compteur_Y<Smear_Max_Y) && (Compteur_X<Smear_Max_X) // On clippe l'effet smear entre Smear_Min et Smear_Max
&& (Compteur_Y>=Smear_Min_Y) && (Compteur_X>=Smear_Min_X) )
Afficher_pixel(Pos_X,Pos_Y,Smear_Brosse[Position]);
Smear_Brosse[Position]=Couleur_temporaire;
Afficher_pixel(x_pos,y_pos,Smear_Brosse[position]);
Smear_Brosse[position]=Couleur_temporaire;
}
Mettre_Ecran_A_Jour(Debut_X, Debut_Y, width, height);
}
@@ -462,11 +462,11 @@ void Afficher_pinceau(short X,short Y,byte Couleur,byte Preview)
}
else
{
for (Pos_Y=Debut_Y,Compteur_Y=Debut_Compteur_Y;Compteur_Y<Fin_Compteur_Y;Pos_Y++,Compteur_Y++)
for (Pos_X=Debut_X,Compteur_X=Debut_Compteur_X;Compteur_X<Fin_Compteur_X;Pos_X++,Compteur_X++)
for (y_pos=Debut_Y,Compteur_Y=Debut_Compteur_Y;Compteur_Y<Fin_Compteur_Y;y_pos++,Compteur_Y++)
for (x_pos=Debut_X,Compteur_X=Debut_Compteur_X;Compteur_X<Fin_Compteur_X;x_pos++,Compteur_X++)
{
if (Pinceau_Sprite[(TAILLE_MAXI_PINCEAU*Compteur_Y)+Compteur_X])
Afficher_pixel(Pos_X,Pos_Y,Couleur);
Afficher_pixel(x_pos,y_pos,Couleur);
}
Mettre_Ecran_A_Jour(Debut_X,Debut_Y,width,height);
}
@@ -491,8 +491,8 @@ void Effacer_pinceau(short X,short Y)
// de laquelle on affiche la brosse/pinceau
short Debut_Compteur_Y; // Position Y (dans la brosse/pinceau) à partir
// de laquelle on affiche la brosse/pinceau
//short Pos_X; // Position X (dans l'image) en cours d'affichage
//short Pos_Y; // Position Y (dans l'image) en cours d'affichage
//short x_pos; // Position X (dans l'image) en cours d'affichage
//short y_pos; // Position Y (dans l'image) en cours d'affichage
//short Compteur_X; // Position X (dans la brosse/pinceau) en cours
//d'affichage
//short Compteur_Y; // Position Y (dans la brosse/pinceau) en cours d'affichage
@@ -611,8 +611,8 @@ void Effacer_pinceau(short X,short Y)
void Capturer_brosse(short Debut_X,short Debut_Y,short Fin_X,short Fin_Y,short clear)
{
short Temporaire;
short Pos_X;
short Pos_Y;
short x_pos;
short y_pos;
word Nouvelle_Brosse_Largeur;
word Nouvelle_Brosse_Hauteur;
@@ -693,11 +693,11 @@ void Capturer_brosse(short Debut_X,short Debut_Y,short Fin_X,short Fin_Y,short c
// On regarde s'il faut effacer quelque chose:
if (clear)
{
for (Pos_Y=Debut_Y;Pos_Y<Debut_Y+Brosse_Hauteur;Pos_Y++)
for (Pos_X=Debut_X;Pos_X<Debut_X+Brosse_Largeur;Pos_X++)
for (y_pos=Debut_Y;y_pos<Debut_Y+Brosse_Hauteur;y_pos++)
for (x_pos=Debut_X;x_pos<Debut_X+Brosse_Largeur;x_pos++)
{
Pixel_dans_ecran_courant(Pos_X,Pos_Y,Back_color);
Pixel_Preview (Pos_X,Pos_Y,Back_color);
Pixel_dans_ecran_courant(x_pos,y_pos,Back_color);
Pixel_Preview (x_pos,y_pos,Back_color);
}
Mettre_Ecran_A_Jour(Debut_X,Debut_Y,Brosse_Largeur,Brosse_Hauteur);
}
@@ -740,8 +740,8 @@ void Rotate_90_deg()
void Remap_brosse(void)
{
short Pos_X; // Variable de balayage de la brosse
short Pos_Y; // Variable de balayage de la brosse
short x_pos; // Variable de balayage de la brosse
short y_pos; // Variable de balayage de la brosse
byte Utilisee[256]; // Tableau de booléens "La couleur est utilisée"
int Couleur;
@@ -751,9 +751,9 @@ void Remap_brosse(void)
Utilisee[Couleur]=0;
// On calcule la table d'utilisation des couleurs
for (Pos_Y=0;Pos_Y<Brosse_Hauteur;Pos_Y++)
for (Pos_X=0;Pos_X<Brosse_Largeur;Pos_X++)
Utilisee[Lit_pixel_dans_brosse(Pos_X,Pos_Y)]=1;
for (y_pos=0;y_pos<Brosse_Hauteur;y_pos++)
for (x_pos=0;x_pos<Brosse_Largeur;x_pos++)
Utilisee[Lit_pixel_dans_brosse(x_pos,y_pos)]=1;
// On n'est pas censé remapper la couleur de transparence, sinon la brosse
// changera de forme, donc on dit pour l'instant qu'elle n'est pas utilisée
@@ -769,7 +769,7 @@ void Remap_brosse(void)
// ne seront pas utilisées par Remap_brush_LOWLEVEL.
for (Couleur=0;Couleur<=255;Couleur++)
if (Utilisee[Couleur])
Utilisee[Couleur]=Meilleure_couleur(Brouillon_Palette[Couleur].R,Brouillon_Palette[Couleur].V,Brouillon_Palette[Couleur].B);
Utilisee[Couleur]=Meilleure_couleur(Brouillon_Palette[Couleur].R,Brouillon_Palette[Couleur].G,Brouillon_Palette[Couleur].B);
// Il reste une couleur non calculée dans la table qu'il faut mettre à
// jour: c'est la couleur de fond. On l'avait inhibée pour éviter son
@@ -790,7 +790,7 @@ void Remap_brosse(void)
void Outline_brush(void)
{
long /*Pos,*/Pos_X,Pos_Y;
long /*Pos,*/x_pos,y_pos;
byte state;
byte * Nouvelle_brosse;
byte * Temporaire;
@@ -829,16 +829,16 @@ void Outline_brush(void)
if (Fore_color!=Back_color)
{
// 1er balayage (horizontal)
for (Pos_Y=1; Pos_Y<Brosse_Hauteur-1; Pos_Y++)
for (y_pos=1; y_pos<Brosse_Hauteur-1; y_pos++)
{
state=0;
for (Pos_X=1; Pos_X<Brosse_Largeur-1; Pos_X++)
for (x_pos=1; x_pos<Brosse_Largeur-1; x_pos++)
{
if (Temporaire[((Pos_Y-1)*width)+Pos_X-1]==Back_color)
if (Temporaire[((y_pos-1)*width)+x_pos-1]==Back_color)
{
if (state)
{
Pixel_dans_brosse(Pos_X,Pos_Y,Fore_color);
Pixel_dans_brosse(x_pos,y_pos,Fore_color);
state=0;
}
}
@@ -846,27 +846,27 @@ void Outline_brush(void)
{
if (!state)
{
Pixel_dans_brosse(Pos_X-1,Pos_Y,Fore_color);
Pixel_dans_brosse(x_pos-1,y_pos,Fore_color);
state=1;
}
}
}
// Cas du dernier pixel à droite de la ligne
if (state)
Pixel_dans_brosse(Pos_X,Pos_Y,Fore_color);
Pixel_dans_brosse(x_pos,y_pos,Fore_color);
}
// 2ème balayage (vertical)
for (Pos_X=1; Pos_X<Brosse_Largeur-1; Pos_X++)
for (x_pos=1; x_pos<Brosse_Largeur-1; x_pos++)
{
state=0;
for (Pos_Y=1; Pos_Y<Brosse_Hauteur-1; Pos_Y++)
for (y_pos=1; y_pos<Brosse_Hauteur-1; y_pos++)
{
if (Temporaire[((Pos_Y-1)*width)+Pos_X-1]==Back_color)
if (Temporaire[((y_pos-1)*width)+x_pos-1]==Back_color)
{
if (state)
{
Pixel_dans_brosse(Pos_X,Pos_Y,Fore_color);
Pixel_dans_brosse(x_pos,y_pos,Fore_color);
state=0;
}
}
@@ -874,14 +874,14 @@ void Outline_brush(void)
{
if (!state)
{
Pixel_dans_brosse(Pos_X,Pos_Y-1,Fore_color);
Pixel_dans_brosse(x_pos,y_pos-1,Fore_color);
state=1;
}
}
}
// Cas du dernier pixel en bas de la colonne
if (state)
Pixel_dans_brosse(Pos_X,Pos_Y,Fore_color);
Pixel_dans_brosse(x_pos,y_pos,Fore_color);
}
}
@@ -904,7 +904,7 @@ void Outline_brush(void)
void Nibble_brush(void)
{
long /*Pos,*/Pos_X,Pos_Y;
long /*Pos,*/x_pos,y_pos;
byte state;
byte * Nouvelle_brosse;
byte * Temporaire;
@@ -940,17 +940,17 @@ void Nibble_brush(void)
height+=2;
// 1er balayage (horizontal)
for (Pos_Y=0; Pos_Y<Brosse_Hauteur; Pos_Y++)
for (y_pos=0; y_pos<Brosse_Hauteur; y_pos++)
{
state=(Temporaire[(Pos_Y+1)*width]!=Back_color);
for (Pos_X=0; Pos_X<Brosse_Largeur; Pos_X++)
state=(Temporaire[(y_pos+1)*width]!=Back_color);
for (x_pos=0; x_pos<Brosse_Largeur; x_pos++)
{
if (Temporaire[((Pos_Y+1)*width)+Pos_X+1]==Back_color)
if (Temporaire[((y_pos+1)*width)+x_pos+1]==Back_color)
{
if (state)
{
if (Pos_X>0)
Pixel_dans_brosse(Pos_X-1,Pos_Y,Back_color);
if (x_pos>0)
Pixel_dans_brosse(x_pos-1,y_pos,Back_color);
state=0;
}
}
@@ -958,28 +958,28 @@ void Nibble_brush(void)
{
if (!state)
{
Pixel_dans_brosse(Pos_X,Pos_Y,Back_color);
Pixel_dans_brosse(x_pos,y_pos,Back_color);
state=1;
}
}
}
// Cas du dernier pixel à droite de la ligne
if (Temporaire[((Pos_Y+1)*width)+Pos_X+1]==Back_color)
Pixel_dans_brosse(Pos_X-1,Pos_Y,Back_color);
if (Temporaire[((y_pos+1)*width)+x_pos+1]==Back_color)
Pixel_dans_brosse(x_pos-1,y_pos,Back_color);
}
// 2ème balayage (vertical)
for (Pos_X=0; Pos_X<Brosse_Largeur; Pos_X++)
for (x_pos=0; x_pos<Brosse_Largeur; x_pos++)
{
state=(Temporaire[width+Pos_X+1]!=Back_color);;
for (Pos_Y=0; Pos_Y<Brosse_Hauteur; Pos_Y++)
state=(Temporaire[width+x_pos+1]!=Back_color);;
for (y_pos=0; y_pos<Brosse_Hauteur; y_pos++)
{
if (Temporaire[((Pos_Y+1)*width)+Pos_X+1]==Back_color)
if (Temporaire[((y_pos+1)*width)+x_pos+1]==Back_color)
{
if (state)
{
if (Pos_Y>0)
Pixel_dans_brosse(Pos_X,Pos_Y-1,Back_color);
if (y_pos>0)
Pixel_dans_brosse(x_pos,y_pos-1,Back_color);
state=0;
}
}
@@ -987,14 +987,14 @@ void Nibble_brush(void)
{
if (!state)
{
Pixel_dans_brosse(Pos_X,Pos_Y,Back_color);
Pixel_dans_brosse(x_pos,y_pos,Back_color);
state=1;
}
}
}
// Cas du dernier pixel en bas de la colonne
if (Temporaire[((Pos_Y+1)*width)+Pos_X+1]==Back_color)
Pixel_dans_brosse(Pos_X,Pos_Y-1,Back_color);
if (Temporaire[((y_pos+1)*width)+x_pos+1]==Back_color)
Pixel_dans_brosse(x_pos,y_pos-1,Back_color);
}
// On recentre la prise sur la brosse
@@ -1023,8 +1023,8 @@ void Capturer_brosse_au_lasso(int Vertices, short * Points,short clear)
short Fin_X=Limite_Gauche-1;
short Fin_Y=Limite_Haut-1;
short Temporaire;
short Pos_X;
short Pos_Y;
short x_pos;
short y_pos;
word Nouvelle_Brosse_Largeur;
word Nouvelle_Brosse_Hauteur;
@@ -1032,16 +1032,16 @@ void Capturer_brosse_au_lasso(int Vertices, short * Points,short clear)
// On recherche les bornes de la brosse:
for (Temporaire=0; Temporaire<Vertices; Temporaire++)
{
Pos_X=Points[Temporaire<<1];
Pos_Y=Points[(Temporaire<<1)+1];
if (Pos_X<Debut_X)
Debut_X=Pos_X;
if (Pos_X>Fin_X)
Fin_X=Pos_X;
if (Pos_Y<Debut_Y)
Debut_Y=Pos_Y;
if (Pos_Y>Fin_Y)
Fin_Y=Pos_Y;
x_pos=Points[Temporaire<<1];
y_pos=Points[(Temporaire<<1)+1];
if (x_pos<Debut_X)
Debut_X=x_pos;
if (x_pos>Fin_X)
Fin_X=x_pos;
if (y_pos<Debut_Y)
Debut_Y=y_pos;
if (y_pos>Fin_Y)
Fin_Y=y_pos;
}
// On clippe ces bornes à l'écran:
@@ -1126,14 +1126,14 @@ void Capturer_brosse_au_lasso(int Vertices, short * Points,short clear)
// On scanne la brosse pour remplacer tous les pixels affectés par le
// polyfill par ceux de l'image:
for (Pos_Y=Debut_Y;Pos_Y<=Fin_Y;Pos_Y++)
for (Pos_X=Debut_X;Pos_X<=Fin_X;Pos_X++)
if (Lit_pixel_dans_brosse(Pos_X-Debut_X,Pos_Y-Debut_Y)!=Back_color)
for (y_pos=Debut_Y;y_pos<=Fin_Y;y_pos++)
for (x_pos=Debut_X;x_pos<=Fin_X;x_pos++)
if (Lit_pixel_dans_brosse(x_pos-Debut_X,y_pos-Debut_Y)!=Back_color)
{
Pixel_dans_brosse(Pos_X-Debut_X,Pos_Y-Debut_Y,Lit_pixel_dans_ecran_courant(Pos_X,Pos_Y));
Pixel_dans_brosse(x_pos-Debut_X,y_pos-Debut_Y,Lit_pixel_dans_ecran_courant(x_pos,y_pos));
// On regarde s'il faut effacer quelque chose:
if (clear)
Pixel_dans_ecran_courant(Pos_X,Pos_Y,Back_color);
Pixel_dans_ecran_courant(x_pos,y_pos,Back_color);
}
// On centre la prise sur la brosse
@@ -1148,7 +1148,7 @@ void Capturer_brosse_au_lasso(int Vertices, short * Points,short clear)
void Etirer_brosse(short X1, short Y1, short X2, short Y2)
{
int Offset,line,Colonne;
int offset,line,Colonne;
byte * New_Brosse;
int New_Brosse_Largeur; // Width de la nouvelle brosse
@@ -1179,7 +1179,7 @@ void Etirer_brosse(short X1, short Y1, short X2, short Y2)
Delta_X_dans_brosse=(Brosse_Largeur<<16)/(X2-X1+Dx);
Delta_Y_dans_brosse=(Brosse_Hauteur<<16)/(Y2-Y1+Dy);
// Calcul de la valeur initiale de Pos_X pour chaque ligne:
// Calcul de la valeur initiale de x_pos pour chaque ligne:
if (Dx>=0)
Pos_X_initial = 0; // Pas d'inversion en X de la brosse
else
@@ -1189,9 +1189,9 @@ void Etirer_brosse(short X1, short Y1, short X2, short Y2)
if ((New_Brosse=((byte *)malloc(New_Brosse_Largeur*New_Brosse_Hauteur))))
{
Offset=0;
offset=0;
// Calcul de la valeur initiale de Pos_Y:
// Calcul de la valeur initiale de y_pos:
if (Dy>=0)
Pos_Y_dans_brosse=0; // Pas d'inversion en Y de la brosse
else
@@ -1207,11 +1207,11 @@ void Etirer_brosse(short X1, short Y1, short X2, short Y2)
for (Colonne=0;Colonne<New_Brosse_Largeur;Colonne++)
{
// On copie le pixel:
New_Brosse[Offset]=Lit_pixel_dans_brosse(Pos_X_dans_brosse>>16,Pos_Y_dans_brosse>>16);
New_Brosse[offset]=Lit_pixel_dans_brosse(Pos_X_dans_brosse>>16,Pos_Y_dans_brosse>>16);
// On passe à la colonne de brosse suivante:
Pos_X_dans_brosse+=Delta_X_dans_brosse;
// On passe au pixel suivant de la nouvelle brosse:
Offset++;
offset++;
}
// On passe à la ligne de brosse suivante:
@@ -1347,7 +1347,7 @@ float * ScanY_X[2];
void Interpoler_texture(int Debut_X,int Debut_Y,int Xt1,int Yt1,
int Fin_X ,int Fin_Y ,int Xt2,int Yt2,int height)
{
int Pos_X,Pos_Y;
int x_pos,y_pos;
int Incr_X,Incr_Y;
int i,Cumul;
int Delta_X,Delta_Y;
@@ -1358,8 +1358,8 @@ void Interpoler_texture(int Debut_X,int Debut_Y,int Xt1,int Yt1,
float Xt,Yt;
Pos_X=Debut_X;
Pos_Y=Debut_Y;
x_pos=Debut_X;
y_pos=Debut_Y;
if (Debut_X<Fin_X)
{
@@ -1391,52 +1391,52 @@ void Interpoler_texture(int Debut_X,int Debut_Y,int Xt1,int Yt1,
if (Cumul>=Delta_X)
{
Cumul-=Delta_X;
Pos_Y+=Incr_Y;
y_pos+=Incr_Y;
}
if ((Pos_Y>=0) && (Pos_Y<height))
if ((y_pos>=0) && (y_pos<height))
{
Xt=(((float)((Pos_X-Debut_X)*Delta_Xt))/(float)Delta_X2) + (float)Xt1;
Yt=(((float)((Pos_X-Debut_X)*Delta_Yt))/(float)Delta_X2) + (float)Yt1;
if (ScanY_X[0][Pos_Y]==INDEFINI) // Gauche non défini
Xt=(((float)((x_pos-Debut_X)*Delta_Xt))/(float)Delta_X2) + (float)Xt1;
Yt=(((float)((x_pos-Debut_X)*Delta_Yt))/(float)Delta_X2) + (float)Yt1;
if (ScanY_X[0][y_pos]==INDEFINI) // Gauche non défini
{
ScanY_X[0][Pos_Y]=Pos_X;
ScanY_Xt[0][Pos_Y]=Xt;
ScanY_Yt[0][Pos_Y]=Yt;
ScanY_X[0][y_pos]=x_pos;
ScanY_Xt[0][y_pos]=Xt;
ScanY_Yt[0][y_pos]=Yt;
}
else
{
if (Pos_X>=ScanY_X[0][Pos_Y])
if (x_pos>=ScanY_X[0][y_pos])
{
if ((ScanY_X[1][Pos_Y]==INDEFINI) // Droit non défini
|| (Pos_X>ScanY_X[1][Pos_Y]))
if ((ScanY_X[1][y_pos]==INDEFINI) // Droit non défini
|| (x_pos>ScanY_X[1][y_pos]))
{
ScanY_X[1][Pos_Y]=Pos_X;
ScanY_Xt[1][Pos_Y]=Xt;
ScanY_Yt[1][Pos_Y]=Yt;
ScanY_X[1][y_pos]=x_pos;
ScanY_Xt[1][y_pos]=Xt;
ScanY_Yt[1][y_pos]=Yt;
}
}
else
{
if (ScanY_X[1][Pos_Y]==INDEFINI) // Droit non défini
if (ScanY_X[1][y_pos]==INDEFINI) // Droit non défini
{
ScanY_X[1][Pos_Y]=ScanY_X[0][Pos_Y];
ScanY_Xt[1][Pos_Y]=ScanY_Xt[0][Pos_Y];
ScanY_Yt[1][Pos_Y]=ScanY_Yt[0][Pos_Y];
ScanY_X[0][Pos_Y]=Pos_X;
ScanY_Xt[0][Pos_Y]=Xt;
ScanY_Yt[0][Pos_Y]=Yt;
ScanY_X[1][y_pos]=ScanY_X[0][y_pos];
ScanY_Xt[1][y_pos]=ScanY_Xt[0][y_pos];
ScanY_Yt[1][y_pos]=ScanY_Yt[0][y_pos];
ScanY_X[0][y_pos]=x_pos;
ScanY_Xt[0][y_pos]=Xt;
ScanY_Yt[0][y_pos]=Yt;
}
else
{
ScanY_X[0][Pos_Y]=Pos_X;
ScanY_Xt[0][Pos_Y]=Xt;
ScanY_Yt[0][Pos_Y]=Yt;
ScanY_X[0][y_pos]=x_pos;
ScanY_Xt[0][y_pos]=Xt;
ScanY_Yt[0][y_pos]=Yt;
}
}
}
}
Pos_X+=Incr_X;
x_pos+=Incr_X;
Cumul+=Delta_Y;
}
}
@@ -1448,52 +1448,52 @@ void Interpoler_texture(int Debut_X,int Debut_Y,int Xt1,int Yt1,
if (Cumul>=Delta_Y)
{
Cumul-=Delta_Y;
Pos_X+=Incr_X;
x_pos+=Incr_X;
}
if ((Pos_Y>=0) && (Pos_Y<height))
if ((y_pos>=0) && (y_pos<height))
{
Xt=(((float)((Pos_Y-Debut_Y)*Delta_Xt))/(float)Delta_Y2) + (float)Xt1;
Yt=(((float)((Pos_Y-Debut_Y)*Delta_Yt))/(float)Delta_Y2) + (float)Yt1;
if (ScanY_X[0][Pos_Y]==INDEFINI) // Gauche non défini
Xt=(((float)((y_pos-Debut_Y)*Delta_Xt))/(float)Delta_Y2) + (float)Xt1;
Yt=(((float)((y_pos-Debut_Y)*Delta_Yt))/(float)Delta_Y2) + (float)Yt1;
if (ScanY_X[0][y_pos]==INDEFINI) // Gauche non défini
{
ScanY_X[0][Pos_Y]=Pos_X;
ScanY_Xt[0][Pos_Y]=Xt;
ScanY_Yt[0][Pos_Y]=Yt;
ScanY_X[0][y_pos]=x_pos;
ScanY_Xt[0][y_pos]=Xt;
ScanY_Yt[0][y_pos]=Yt;
}
else
{
if (Pos_X>=ScanY_X[0][Pos_Y])
if (x_pos>=ScanY_X[0][y_pos])
{
if ((ScanY_X[1][Pos_Y]==INDEFINI) // Droit non défini
|| (Pos_X>ScanY_X[1][Pos_Y]))
if ((ScanY_X[1][y_pos]==INDEFINI) // Droit non défini
|| (x_pos>ScanY_X[1][y_pos]))
{
ScanY_X[1][Pos_Y]=Pos_X;
ScanY_Xt[1][Pos_Y]=Xt;
ScanY_Yt[1][Pos_Y]=Yt;
ScanY_X[1][y_pos]=x_pos;
ScanY_Xt[1][y_pos]=Xt;
ScanY_Yt[1][y_pos]=Yt;
}
}
else
{
if (ScanY_X[1][Pos_Y]==INDEFINI) // Droit non défini
if (ScanY_X[1][y_pos]==INDEFINI) // Droit non défini
{
ScanY_X[1][Pos_Y]=ScanY_X[0][Pos_Y];
ScanY_Xt[1][Pos_Y]=ScanY_Xt[0][Pos_Y];
ScanY_Yt[1][Pos_Y]=ScanY_Yt[0][Pos_Y];
ScanY_X[0][Pos_Y]=Pos_X;
ScanY_Xt[0][Pos_Y]=Xt;
ScanY_Yt[0][Pos_Y]=Yt;
ScanY_X[1][y_pos]=ScanY_X[0][y_pos];
ScanY_Xt[1][y_pos]=ScanY_Xt[0][y_pos];
ScanY_Yt[1][y_pos]=ScanY_Yt[0][y_pos];
ScanY_X[0][y_pos]=x_pos;
ScanY_Xt[0][y_pos]=Xt;
ScanY_Yt[0][y_pos]=Yt;
}
else
{
ScanY_X[0][Pos_Y]=Pos_X;
ScanY_Xt[0][Pos_Y]=Xt;
ScanY_Yt[0][Pos_Y]=Yt;
ScanY_X[0][y_pos]=x_pos;
ScanY_Xt[0][y_pos]=Xt;
ScanY_Yt[0][y_pos]=Yt;
}
}
}
}
Pos_Y+=Incr_Y;
y_pos+=Incr_Y;
Cumul+=Delta_X;
}
}