Fixed many refresh problems in the Sieve menu, plus older logic bugs.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@254 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
ff9fc1633b
commit
7ca68f33d0
40
boutons.c
40
boutons.c
@ -4945,6 +4945,12 @@ void Inverser_trame(void)
|
|||||||
Trame[Pos_X][Pos_Y]=!(Trame[Pos_X][Pos_Y]);
|
Trame[Pos_X][Pos_Y]=!(Trame[Pos_X][Pos_Y]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Rafraichit toute la zone correspondant à la trame zoomee.
|
||||||
|
void Mettre_a_jour_trame(short X, short Y)
|
||||||
|
{
|
||||||
|
SDL_UpdateRect(Ecran_SDL,X,Y,80*Menu_Facteur_X,80*Menu_Facteur_Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void Bouton_Trame_Menu(void)
|
void Bouton_Trame_Menu(void)
|
||||||
{
|
{
|
||||||
@ -5035,6 +5041,10 @@ void Bouton_Trame_Menu(void)
|
|||||||
{
|
{
|
||||||
Bouton_clicke=Fenetre_Bouton_clicke();
|
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||||
|
|
||||||
|
Orig_X=Fenetre_Pos_X+(Menu_Facteur_X*Fenetre_Liste_boutons_special->Pos_X);
|
||||||
|
Orig_Y=Fenetre_Pos_Y+(Menu_Facteur_Y*Fenetre_Liste_boutons_special->Pos_Y);
|
||||||
|
|
||||||
|
|
||||||
switch (Bouton_clicke)
|
switch (Bouton_clicke)
|
||||||
{
|
{
|
||||||
case -1 :
|
case -1 :
|
||||||
@ -5074,10 +5084,10 @@ void Bouton_Trame_Menu(void)
|
|||||||
Block(Orig_X+(Old_Pos_X*Pos_X), Orig_Y+(Old_Pos_Y*Pos_Y),
|
Block(Orig_X+(Old_Pos_X*Pos_X), Orig_Y+(Old_Pos_Y*Pos_Y),
|
||||||
Pos_X-Menu_Facteur_X, Pos_Y-Menu_Facteur_Y, Temp);
|
Pos_X-Menu_Facteur_X, Pos_Y-Menu_Facteur_Y, Temp);
|
||||||
// Mise à jour de la preview
|
// Mise à jour de la preview
|
||||||
for (Pos_Y=Preview_Debut_Y+Old_Pos_Y; Pos_Y<Preview_Fin_Y; Pos_Y+=Trame_Hauteur)
|
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
||||||
for (Pos_X=Preview_Debut_X+Old_Pos_X; Pos_X<Preview_Fin_X; Pos_X+=Trame_Largeur)
|
|
||||||
Pixel(Pos_X,Pos_Y,Temp);
|
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
// Maj de la case seule
|
||||||
|
SDL_UpdateRect(Ecran_SDL,Orig_X+(Old_Pos_X*Pos_X), Orig_Y+(Old_Pos_Y*Pos_Y),Menu_Facteur_X*5,Menu_Facteur_Y*5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -5091,6 +5101,7 @@ void Bouton_Trame_Menu(void)
|
|||||||
memset(Trame,Octet_insere,256);
|
memset(Trame,Octet_insere,256);
|
||||||
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5 : // Invert
|
case 5 : // Invert
|
||||||
@ -5098,6 +5109,7 @@ void Bouton_Trame_Menu(void)
|
|||||||
Inverser_trame();
|
Inverser_trame();
|
||||||
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6 : // Get from brush
|
case 6 : // Get from brush
|
||||||
@ -5108,10 +5120,16 @@ void Bouton_Trame_Menu(void)
|
|||||||
for (Pos_X=0; Pos_X<Trame_Largeur; Pos_X++)
|
for (Pos_X=0; Pos_X<Trame_Largeur; Pos_X++)
|
||||||
Trame[Pos_X][Pos_Y]=(Lit_pixel_dans_brosse(Pos_X,Pos_Y)!=Back_color);
|
Trame[Pos_X][Pos_Y]=(Lit_pixel_dans_brosse(Pos_X,Pos_Y)!=Back_color);
|
||||||
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
||||||
|
Num2str(Trame_Hauteur,Chaine,2);
|
||||||
|
Print_dans_fenetre(71,136,Chaine,CM_Noir,CM_Clair);
|
||||||
|
Num2str(Trame_Largeur,Chaine,2);
|
||||||
|
Print_dans_fenetre(71,120,Chaine,CM_Noir,CM_Clair);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 7 : // Transfer to brush
|
case 7 : // Transfer to brush
|
||||||
|
if (Brosse)
|
||||||
free(Brosse);
|
free(Brosse);
|
||||||
Brosse_Largeur=Trame_Largeur;
|
Brosse_Largeur=Trame_Largeur;
|
||||||
Brosse_Hauteur=Trame_Hauteur;
|
Brosse_Hauteur=Trame_Hauteur;
|
||||||
@ -5121,6 +5139,7 @@ void Bouton_Trame_Menu(void)
|
|||||||
Pixel_dans_brosse(Pos_X,Pos_Y,(Trame[Pos_X][Pos_Y])?Fore_color:Back_color);
|
Pixel_dans_brosse(Pos_X,Pos_Y,(Trame[Pos_X][Pos_Y])?Fore_color:Back_color);
|
||||||
Brosse_Decalage_X=(Brosse_Largeur>>1);
|
Brosse_Decalage_X=(Brosse_Largeur>>1);
|
||||||
Brosse_Decalage_Y=(Brosse_Hauteur>>1);
|
Brosse_Decalage_Y=(Brosse_Hauteur>>1);
|
||||||
|
Changer_la_forme_du_pinceau(FORME_PINCEAU_BROSSE_COULEUR);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 8 : // Réduire hauteur
|
case 8 : // Réduire hauteur
|
||||||
@ -5132,6 +5151,7 @@ void Bouton_Trame_Menu(void)
|
|||||||
Print_dans_fenetre(71,136,Chaine,CM_Noir,CM_Clair);
|
Print_dans_fenetre(71,136,Chaine,CM_Noir,CM_Clair);
|
||||||
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -5146,6 +5166,7 @@ void Bouton_Trame_Menu(void)
|
|||||||
Print_dans_fenetre(71,136,Chaine,CM_Noir,CM_Clair);
|
Print_dans_fenetre(71,136,Chaine,CM_Noir,CM_Clair);
|
||||||
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -5158,6 +5179,7 @@ void Bouton_Trame_Menu(void)
|
|||||||
Print_dans_fenetre(71,120,Chaine,CM_Noir,CM_Clair);
|
Print_dans_fenetre(71,120,Chaine,CM_Noir,CM_Clair);
|
||||||
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -5172,6 +5194,7 @@ void Bouton_Trame_Menu(void)
|
|||||||
Print_dans_fenetre(71,120,Chaine,CM_Noir,CM_Clair);
|
Print_dans_fenetre(71,120,Chaine,CM_Noir,CM_Clair);
|
||||||
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -5182,6 +5205,12 @@ void Bouton_Trame_Menu(void)
|
|||||||
Fenetre_Pos_Y+(Menu_Facteur_Y*(Bouton_Octet_insere->Pos_Y+2)),
|
Fenetre_Pos_Y+(Menu_Facteur_Y*(Bouton_Octet_insere->Pos_Y+2)),
|
||||||
Menu_Facteur_X*7, Menu_Facteur_Y*7, (Octet_insere)?CM_Blanc:CM_Noir);
|
Menu_Facteur_X*7, Menu_Facteur_Y*7, (Octet_insere)?CM_Blanc:CM_Noir);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
SDL_UpdateRect(Ecran_SDL,
|
||||||
|
Fenetre_Pos_X+(Menu_Facteur_X*(Bouton_Octet_insere->Pos_X+2)),
|
||||||
|
Fenetre_Pos_Y+(Menu_Facteur_Y*(Bouton_Octet_insere->Pos_Y+2)),
|
||||||
|
Menu_Facteur_X*7,
|
||||||
|
Menu_Facteur_Y*7);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 13 : // Scroll vers le haut
|
case 13 : // Scroll vers le haut
|
||||||
@ -5195,6 +5224,7 @@ void Bouton_Trame_Menu(void)
|
|||||||
}
|
}
|
||||||
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 14 : // Scroll vers le bas
|
case 14 : // Scroll vers le bas
|
||||||
@ -5208,6 +5238,7 @@ void Bouton_Trame_Menu(void)
|
|||||||
}
|
}
|
||||||
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 15 : // Scroll vers la gauche
|
case 15 : // Scroll vers la gauche
|
||||||
@ -5221,6 +5252,7 @@ void Bouton_Trame_Menu(void)
|
|||||||
}
|
}
|
||||||
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 16 : // Scroll vers la droite
|
case 16 : // Scroll vers la droite
|
||||||
@ -5234,6 +5266,7 @@ void Bouton_Trame_Menu(void)
|
|||||||
}
|
}
|
||||||
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default : // Boutons de trames prédéfinies
|
default : // Boutons de trames prédéfinies
|
||||||
@ -5246,6 +5279,7 @@ void Bouton_Trame_Menu(void)
|
|||||||
Print_dans_fenetre(71,136,Chaine,CM_Noir,CM_Clair);
|
Print_dans_fenetre(71,136,Chaine,CM_Noir,CM_Clair);
|
||||||
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
Dessiner_trame_zoomee(Orig_X,Orig_Y);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
||||||
}
|
}
|
||||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||||
Fenetre_aide(BOUTON_EFFETS, "SIEVE");
|
Fenetre_aide(BOUTON_EFFETS, "SIEVE");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user