Buttons: Now you can 'cancel' a click by dragging the mouse outside of the button before releasing click, pretty much like a Windows button.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@595 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud 2009-02-04 19:43:15 +00:00
parent 5992013629
commit 0cf4597a03

View File

@ -2003,18 +2003,38 @@ short Fenetre_Numero_bouton_clicke(void)
for (Temp1=Fenetre_Liste_boutons_normal; Temp1; Temp1=Temp1->Next) for (Temp1=Fenetre_Liste_boutons_normal; Temp1; Temp1=Temp1->Next)
{ {
if (Fenetre_click_dans_zone(Temp1->Pos_X,Temp1->Pos_Y,Temp1->Pos_X+Temp1->Largeur-1,Temp1->Pos_Y+Temp1->Hauteur-1)) if (Fenetre_click_dans_zone(Temp1->Pos_X,Temp1->Pos_Y,Temp1->Pos_X+Temp1->Largeur-1,Temp1->Pos_Y+Temp1->Hauteur-1))
{
Fenetre_Attribut1=Mouse_K;
while(1)
{ {
Effacer_curseur(); Effacer_curseur();
Fenetre_Enfoncer_bouton_normal(Temp1->Pos_X,Temp1->Pos_Y,Temp1->Largeur,Temp1->Hauteur); Fenetre_Enfoncer_bouton_normal(Temp1->Pos_X,Temp1->Pos_Y,Temp1->Largeur,Temp1->Hauteur);
Afficher_curseur(); Afficher_curseur();
Fenetre_Attribut1=Mouse_K; while (Fenetre_click_dans_zone(Temp1->Pos_X,Temp1->Pos_Y,Temp1->Pos_X+Temp1->Largeur-1,Temp1->Pos_Y+Temp1->Hauteur-1))
Attendre_fin_de_click(); {
if(!Get_input())
Wait_VBL();
if (!Mouse_K)
{
Effacer_curseur(); Effacer_curseur();
Fenetre_Desenfoncer_bouton_normal(Temp1->Pos_X,Temp1->Pos_Y,Temp1->Largeur,Temp1->Hauteur); Fenetre_Desenfoncer_bouton_normal(Temp1->Pos_X,Temp1->Pos_Y,Temp1->Largeur,Temp1->Hauteur);
Afficher_curseur(); Afficher_curseur();
return Temp1->Numero; return Temp1->Numero;
} }
} }
Effacer_curseur();
Fenetre_Desenfoncer_bouton_normal(Temp1->Pos_X,Temp1->Pos_Y,Temp1->Largeur,Temp1->Hauteur);
Afficher_curseur();
while (!(Fenetre_click_dans_zone(Temp1->Pos_X,Temp1->Pos_Y,Temp1->Pos_X+Temp1->Largeur-1,Temp1->Pos_Y+Temp1->Hauteur-1)))
{
if(!Get_input())
Wait_VBL();
if (!Mouse_K)
return 0;
}
}
}
}
// Test du click sur les zones "palette" // Test du click sur les zones "palette"
for (Temp2=Fenetre_Liste_boutons_palette; Temp2; Temp2=Temp2->Next) for (Temp2=Fenetre_Liste_boutons_palette; Temp2; Temp2=Temp2->Next)