Fixed zoom window bar not draggable (issue 114)

Checked for all other uses of "while (!Get_input())", seems ok.
Palette screen: Copy,Swap,X-Swap now take place when you click button, not release.
In all screens where you could press ` and pick a color (palette, shade...): The action now takes place when you click, not release.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@626 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud 2009-02-11 00:00:17 +00:00
parent aaa393e12f
commit a28deef902
4 changed files with 37 additions and 32 deletions

View File

@ -638,6 +638,7 @@ void Menu_Tag_couleurs(char * En_tete, byte * Table, byte * Mode, byte Cancel, c
Stencil_Tagger_couleur(Couleur_taggee,(Click==A_GAUCHE)?CM_Noir:CM_Clair); Stencil_Tagger_couleur(Couleur_taggee,(Click==A_GAUCHE)?CM_Noir:CM_Clair);
Stencil_Actualiser_couleur(Couleur_taggee); Stencil_Actualiser_couleur(Couleur_taggee);
Afficher_curseur(); Afficher_curseur();
Attendre_fin_de_click();
} }
Touche=0; Touche=0;
break; break;
@ -2078,8 +2079,8 @@ void Bouton_Degrades(void)
Tagger_intervalle_palette(Degrade_Tableau[Degrade_Courant].Debut,Degrade_Tableau[Degrade_Courant].Fin); Tagger_intervalle_palette(Degrade_Tableau[Degrade_Courant].Debut,Degrade_Tableau[Degrade_Courant].Fin);
// Tracé de la preview: // Tracé de la preview:
Degrade_Dessiner_preview(8,112,108,14,Degrade_Courant); Degrade_Dessiner_preview(8,112,108,14,Degrade_Courant);
Afficher_curseur(); Afficher_curseur();
Attendre_fin_de_click();
} }
Touche=0; Touche=0;
break; break;
@ -5031,6 +5032,7 @@ void Bouton_Spray_Menu(void)
Spray_Rafficher_infos(Couleur_selectionnee,1); Spray_Rafficher_infos(Couleur_selectionnee,1);
Afficher_curseur(); Afficher_curseur();
Stencil_Actualiser_couleur(Couleur_selectionnee); Stencil_Actualiser_couleur(Couleur_selectionnee);
Attendre_fin_de_click();
} }
Touche=0; Touche=0;
break; break;

View File

@ -440,6 +440,7 @@ void Deplacer_Split(void)
short Ancien_X_Zoom=Principal_X_Zoom; short Ancien_X_Zoom=Principal_X_Zoom;
short Decalage=Principal_X_Zoom-Mouse_X; short Decalage=Principal_X_Zoom-Mouse_X;
byte Ancienne_forme_curseur=Forme_curseur; byte Ancienne_forme_curseur=Forme_curseur;
short Ancien_Mouse_X=-1;
// Afficher la barre en XOR // Afficher la barre en XOR
Effacer_curseur(); Effacer_curseur();
@ -452,32 +453,35 @@ void Deplacer_Split(void)
while (Mouse_K) while (Mouse_K)
{ {
Principal_Proportion_split=(float)(Mouse_X+Decalage)/Largeur_ecran; if (Mouse_X!=Ancien_Mouse_X)
Calculer_split();
if (Principal_X_Zoom!=Ancien_X_Zoom)
{ {
Effacer_curseur(); Ancien_Mouse_X=Mouse_X;
Principal_Proportion_split=(float)(Mouse_X+Decalage)/Largeur_ecran;
// Effacer la barre en XOR Calculer_split();
Ligne_verticale_XOR(Ancien_Split,0,Menu_Ordonnee);
Ligne_verticale_XOR(Ancien_X_Zoom-1,0,Menu_Ordonnee); if (Principal_X_Zoom!=Ancien_X_Zoom)
{
UpdateRect(Ancien_Split,0,abs(Ancien_Split-Ancien_X_Zoom)+1,Menu_Ordonnee); Effacer_curseur();
Ancien_Split=Principal_Split; // Effacer la barre en XOR
Ancien_X_Zoom=Principal_X_Zoom; Ligne_verticale_XOR(Ancien_Split,0,Menu_Ordonnee);
Ligne_verticale_XOR(Ancien_X_Zoom-1,0,Menu_Ordonnee);
// Rafficher la barre en XOR
Ligne_verticale_XOR(Principal_Split,0,Menu_Ordonnee); UpdateRect(Ancien_Split,0,abs(Ancien_Split-Ancien_X_Zoom)+1,Menu_Ordonnee);
Ligne_verticale_XOR(Principal_X_Zoom-1,0,Menu_Ordonnee);
Ancien_Split=Principal_Split;
UpdateRect(Principal_Split,0,abs(Principal_Split-Principal_X_Zoom)+1,Menu_Ordonnee); Ancien_X_Zoom=Principal_X_Zoom;
Afficher_curseur(); // Rafficher la barre en XOR
Ligne_verticale_XOR(Principal_Split,0,Menu_Ordonnee);
Ligne_verticale_XOR(Principal_X_Zoom-1,0,Menu_Ordonnee);
UpdateRect(Principal_Split,0,abs(Principal_Split-Principal_X_Zoom)+1,Menu_Ordonnee);
Afficher_curseur();
}
} }
if(!Get_input())Wait_VBL();
while(!Get_input())Wait_VBL();
} }
// Effacer la barre en XOR // Effacer la barre en XOR
@ -1727,7 +1731,6 @@ short Attendre_click_dans_palette(struct Fenetre_Bouton_palette * Enreg)
{ {
if (Fenetre_click_dans_zone(Debut_X,Debut_Y,Fin_X,Fin_Y)) if (Fenetre_click_dans_zone(Debut_X,Debut_Y,Fin_X,Fin_Y))
{ {
Attendre_fin_de_click();
Effacer_curseur(); Effacer_curseur();
Couleur_choisie=(((Mouse_X-Fenetre_Pos_X)/Menu_Facteur_X)-(Enreg->Pos_X+2)) / 10 * 16 + Couleur_choisie=(((Mouse_X-Fenetre_Pos_X)/Menu_Facteur_X)-(Enreg->Pos_X+2)) / 10 * 16 +
(((Mouse_Y-Fenetre_Pos_Y)/Menu_Facteur_Y)-(Enreg->Pos_Y+3)) / 5; (((Mouse_Y-Fenetre_Pos_Y)/Menu_Facteur_Y)-(Enreg->Pos_Y+3)) / 5;
@ -1741,7 +1744,6 @@ short Attendre_click_dans_palette(struct Fenetre_Bouton_palette * Enreg)
(Mouse_X>=Fenetre_Pos_X+(Fenetre_Largeur*Menu_Facteur_X)) || (Mouse_X>=Fenetre_Pos_X+(Fenetre_Largeur*Menu_Facteur_X)) ||
(Mouse_Y>=Fenetre_Pos_Y+(Fenetre_Hauteur*Menu_Facteur_Y)) ) (Mouse_Y>=Fenetre_Pos_Y+(Fenetre_Hauteur*Menu_Facteur_Y)) )
{ {
Attendre_fin_de_click();
Effacer_curseur(); Effacer_curseur();
Couleur_choisie=Lit_pixel(Mouse_X,Mouse_Y); Couleur_choisie=Lit_pixel(Mouse_X,Mouse_Y);
Forme_curseur=FORME_CURSEUR_FLECHE; Forme_curseur=FORME_CURSEUR_FLECHE;
@ -1754,7 +1756,6 @@ short Attendre_click_dans_palette(struct Fenetre_Bouton_palette * Enreg)
if ((Mouse_K==A_DROITE) || (Touche==TOUCHE_ESC)) if ((Mouse_K==A_DROITE) || (Touche==TOUCHE_ESC))
{ {
Attendre_fin_de_click();
Effacer_curseur(); Effacer_curseur();
Forme_curseur=FORME_CURSEUR_FLECHE; Forme_curseur=FORME_CURSEUR_FLECHE;
Cacher_curseur=Ancien_Cacher_curseur; Cacher_curseur=Ancien_Cacher_curseur;
@ -1810,7 +1811,7 @@ void Recuperer_couleur_derriere_fenetre(byte * Couleur, byte * Click)
do do
{ {
while(!Get_input())Wait_VBL(); if(!Get_input())Wait_VBL();
if ((Mouse_X!=Ancien_X) || (Mouse_Y!=Ancien_Y)) if ((Mouse_X!=Ancien_X) || (Mouse_Y!=Ancien_Y))
{ {
@ -1852,7 +1853,6 @@ void Recuperer_couleur_derriere_fenetre(byte * Couleur, byte * Click)
Effacer_curseur(); Effacer_curseur();
*Click=Mouse_K; *Click=Mouse_K;
*Couleur=Lit_pixel(Mouse_X,Mouse_Y); *Couleur=Lit_pixel(Mouse_X,Mouse_Y);
Attendre_fin_de_click();
} }
else else
{ {
@ -1873,7 +1873,6 @@ void Recuperer_couleur_derriere_fenetre(byte * Couleur, byte * Click)
else else
{ {
Erreur(0); Erreur(0);
Attendre_fin_de_click();
} }
} }

View File

@ -1314,7 +1314,7 @@ void Bouton_Palette(void)
// En cas de X-Swap, tout l'ecran a pu changer de couleur. // En cas de X-Swap, tout l'ecran a pu changer de couleur.
if (Bouton_clicke==8) if (Bouton_clicke==8)
UpdateRect(0, 0, Largeur_ecran, Menu_Ordonnee_avant_fenetre); UpdateRect(0, 0, Largeur_ecran, Menu_Ordonnee_avant_fenetre);
Attendre_fin_de_click();
} }
break; break;
@ -1357,6 +1357,7 @@ void Bouton_Palette(void)
Afficher_curseur(); Afficher_curseur();
Palette_Reafficher_jauges(Jauge_rouge,Jauge_verte,Jauge_bleue,Palette_de_travail,Debut_block,Fin_block); Palette_Reafficher_jauges(Jauge_rouge,Jauge_verte,Jauge_bleue,Palette_de_travail,Debut_block,Fin_block);
Attendre_fin_de_click();
} }
break; break;
@ -1376,6 +1377,7 @@ void Bouton_Palette(void)
Degrader_palette(Couleur_temporaire,Fore_color,Palette_de_travail); Degrader_palette(Couleur_temporaire,Fore_color,Palette_de_travail);
else else
Degrader_palette(Fore_color,Couleur_temporaire,Palette_de_travail); Degrader_palette(Fore_color,Couleur_temporaire,Palette_de_travail);
Attendre_fin_de_click();
} }
} }
@ -2001,6 +2003,7 @@ void Bouton_Palette(void)
memcpy(Palette_temporaire,Palette_de_travail,sizeof(T_Palette)); memcpy(Palette_temporaire,Palette_de_travail,sizeof(T_Palette));
} }
Afficher_curseur(); Afficher_curseur();
Attendre_fin_de_click();
} }
Touche=0; Touche=0;
break; break;

View File

@ -970,6 +970,7 @@ int Menu_Shade(void)
Afficher_couleur_selectionnee(Premiere_couleur,Derniere_couleur); Afficher_couleur_selectionnee(Premiere_couleur,Derniere_couleur);
Afficher_curseur(); Afficher_curseur();
Attendre_fin_de_click();
} }
Touche=0; Touche=0;
break; break;