Menus: Implemented 'repeatable buttons' that work like slider arrows.
Used for [+] [-] in Palette and Text, and for the arrow buttons that scroll Sieve pattern. git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@598 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
16b405ccfe
commit
266145cd0a
12
boutons.c
12
boutons.c
@ -5251,10 +5251,10 @@ 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);
|
||||||
|
|
||||||
Fenetre_Definir_bouton_normal(109, 69,11,11,"\030",0,1,SDLK_UP); // 13
|
Fenetre_Definir_bouton_repetable(109, 69,11,11,"\030",0,1,SDLK_UP); // 13
|
||||||
Fenetre_Definir_bouton_normal(109, 93,11,11,"\031",0,1,SDLK_DOWN); // 14
|
Fenetre_Definir_bouton_repetable(109, 93,11,11,"\031",0,1,SDLK_DOWN); // 14
|
||||||
Fenetre_Definir_bouton_normal( 97, 81,11,11,"\033",0,1,SDLK_LEFT); // 15
|
Fenetre_Definir_bouton_repetable( 97, 81,11,11,"\033",0,1,SDLK_LEFT); // 15
|
||||||
Fenetre_Definir_bouton_normal(121, 81,11,11,"\032",0,1,SDLK_RIGHT); // 16
|
Fenetre_Definir_bouton_repetable(121, 81,11,11,"\032",0,1,SDLK_RIGHT); // 16
|
||||||
|
|
||||||
for (Indice=0; Indice<12; Indice++)
|
for (Indice=0; Indice<12; Indice++)
|
||||||
Fenetre_Definir_bouton_normal((Indice*23)+8,20,20,20,"",0,1,SDLK_F1+Indice); // 17 -> 28
|
Fenetre_Definir_bouton_normal((Indice*23)+8,20,20,20,"",0,1,SDLK_F1+Indice); // 17 -> 28
|
||||||
@ -5982,8 +5982,8 @@ void Bouton_Texte()
|
|||||||
// Taille texte
|
// Taille texte
|
||||||
Fenetre_Definir_bouton_saisie(220,43,3); // 7
|
Fenetre_Definir_bouton_saisie(220,43,3); // 7
|
||||||
Bouton_taille_texte=Fenetre_Liste_boutons_special;
|
Bouton_taille_texte=Fenetre_Liste_boutons_special;
|
||||||
Fenetre_Definir_bouton_normal(202,43,13,11,"-",0,1,SDLK_LAST); // 8
|
Fenetre_Definir_bouton_repetable(202,43,13,11,"-",0,1,SDLK_LAST); // 8
|
||||||
Fenetre_Definir_bouton_normal(251,43,13,11,"+",0,1,SDLK_LAST); // 9
|
Fenetre_Definir_bouton_repetable(251,43,13,11,"+",0,1,SDLK_LAST); // 9
|
||||||
|
|
||||||
// Preview
|
// Preview
|
||||||
Fenetre_Definir_bouton_special(8,106,273,50); // 10
|
Fenetre_Definir_bouton_special(8,106,273,50); // 10
|
||||||
|
|||||||
42
moteur.c
42
moteur.c
@ -1458,6 +1458,7 @@ void Fenetre_Definir_bouton_normal(word Pos_X, word Pos_Y,
|
|||||||
Temp->Largeur =Largeur;
|
Temp->Largeur =Largeur;
|
||||||
Temp->Hauteur =Hauteur;
|
Temp->Hauteur =Hauteur;
|
||||||
Temp->Raccourci=Raccourci;
|
Temp->Raccourci=Raccourci;
|
||||||
|
Temp->Repetable=0;
|
||||||
|
|
||||||
Temp->Next=Fenetre_Liste_boutons_normal;
|
Temp->Next=Fenetre_Liste_boutons_normal;
|
||||||
Fenetre_Liste_boutons_normal=Temp;
|
Fenetre_Liste_boutons_normal=Temp;
|
||||||
@ -1465,7 +1466,34 @@ void Fenetre_Definir_bouton_normal(word Pos_X, word Pos_Y,
|
|||||||
|
|
||||||
Fenetre_Dessiner_bouton_normal(Pos_X,Pos_Y,Largeur,Hauteur,Titre,Lettre_soulignee,Clickable);
|
Fenetre_Dessiner_bouton_normal(Pos_X,Pos_Y,Largeur,Hauteur,Titre,Lettre_soulignee,Clickable);
|
||||||
}
|
}
|
||||||
|
//------ Rajout d'un bouton à la liste de ceux présents dans la fenêtre ------
|
||||||
|
|
||||||
|
void Fenetre_Definir_bouton_repetable(word Pos_X, word Pos_Y,
|
||||||
|
word Largeur, word Hauteur,
|
||||||
|
char * Titre, byte Lettre_soulignee,
|
||||||
|
byte Clickable, word Raccourci)
|
||||||
|
{
|
||||||
|
struct Fenetre_Bouton_normal * Temp;
|
||||||
|
|
||||||
|
Nb_boutons_fenetre++;
|
||||||
|
|
||||||
|
if (Clickable)
|
||||||
|
{
|
||||||
|
Temp=(struct Fenetre_Bouton_normal *)malloc(sizeof(struct Fenetre_Bouton_normal));
|
||||||
|
Temp->Numero =Nb_boutons_fenetre;
|
||||||
|
Temp->Pos_X =Pos_X;
|
||||||
|
Temp->Pos_Y =Pos_Y;
|
||||||
|
Temp->Largeur =Largeur;
|
||||||
|
Temp->Hauteur =Hauteur;
|
||||||
|
Temp->Raccourci=Raccourci;
|
||||||
|
Temp->Repetable=1;
|
||||||
|
|
||||||
|
Temp->Next=Fenetre_Liste_boutons_normal;
|
||||||
|
Fenetre_Liste_boutons_normal=Temp;
|
||||||
|
}
|
||||||
|
|
||||||
|
Fenetre_Dessiner_bouton_normal(Pos_X,Pos_Y,Largeur,Hauteur,Titre,Lettre_soulignee,Clickable);
|
||||||
|
}
|
||||||
|
|
||||||
void Fenetre_Definir_bouton_palette(word Pos_X, word Pos_Y)
|
void Fenetre_Definir_bouton_palette(word Pos_X, word Pos_Y)
|
||||||
{
|
{
|
||||||
@ -2004,7 +2032,17 @@ short Fenetre_Numero_bouton_clicke(void)
|
|||||||
{
|
{
|
||||||
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;
|
if (Temp1->Repetable)
|
||||||
|
{
|
||||||
|
Effacer_curseur();
|
||||||
|
Fenetre_Enfoncer_bouton_normal(Temp1->Pos_X,Temp1->Pos_Y,Temp1->Largeur,Temp1->Hauteur);
|
||||||
|
Afficher_curseur();
|
||||||
|
Tempo_jauge((Mouse_K==1)? Config.Valeur_tempo_jauge_gauche : Config.Valeur_tempo_jauge_droite);
|
||||||
|
Effacer_curseur();
|
||||||
|
Fenetre_Desenfoncer_bouton_normal(Temp1->Pos_X,Temp1->Pos_Y,Temp1->Largeur,Temp1->Hauteur);
|
||||||
|
Afficher_curseur();
|
||||||
|
return Temp1->Numero;
|
||||||
|
}
|
||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
@ -2019,6 +2057,8 @@ short Fenetre_Numero_bouton_clicke(void)
|
|||||||
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();
|
||||||
|
|
||||||
|
Fenetre_Attribut1=Mouse_K;
|
||||||
return Temp1->Numero;
|
return Temp1->Numero;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
4
moteur.h
4
moteur.h
@ -49,6 +49,10 @@ void Fenetre_Definir_bouton_normal(word Pos_X, word Pos_Y,
|
|||||||
word Largeur, word Hauteur,
|
word Largeur, word Hauteur,
|
||||||
char * Titre,byte Lettre_soulignee,
|
char * Titre,byte Lettre_soulignee,
|
||||||
byte Clickable, word Raccourci);
|
byte Clickable, word Raccourci);
|
||||||
|
void Fenetre_Definir_bouton_repetable(word Pos_X, word Pos_Y,
|
||||||
|
word Largeur, word Hauteur,
|
||||||
|
char * Titre,byte Lettre_soulignee,
|
||||||
|
byte Clickable, word Raccourci);
|
||||||
|
|
||||||
void Fenetre_Definir_bouton_palette(word Pos_X, word Pos_Y);
|
void Fenetre_Definir_bouton_palette(word Pos_X, word Pos_Y);
|
||||||
void Fenetre_Effacer_tags(void);
|
void Fenetre_Effacer_tags(void);
|
||||||
|
|||||||
@ -860,8 +860,8 @@ void Bouton_Palette(void)
|
|||||||
Fenetre_Definir_bouton_scroller(225,20,31,7,1,Indice_Reduction_palette);// 17
|
Fenetre_Definir_bouton_scroller(225,20,31,7,1,Indice_Reduction_palette);// 17
|
||||||
Jauge_Reduction=Fenetre_Liste_boutons_scroller;
|
Jauge_Reduction=Fenetre_Liste_boutons_scroller;
|
||||||
|
|
||||||
Fenetre_Definir_bouton_normal(266, 74,12,11,"+",0,1,SDLK_KP_PLUS); // 18
|
Fenetre_Definir_bouton_repetable(266, 74,12,11,"+",0,1,SDLK_KP_PLUS); // 18
|
||||||
Fenetre_Definir_bouton_normal(266,165,12,11,"-",0,1,SDLK_KP_MINUS); // 19
|
Fenetre_Definir_bouton_repetable(266,165,12,11,"-",0,1,SDLK_KP_MINUS); // 19
|
||||||
|
|
||||||
Fenetre_Definir_bouton_normal(96,17,29,14,"Neg" ,1,1,SDLK_n); // 20
|
Fenetre_Definir_bouton_normal(96,17,29,14,"Neg" ,1,1,SDLK_n); // 20
|
||||||
Fenetre_Definir_bouton_normal(66,62,29,14,"Inv" ,1,1,SDLK_i); // 21
|
Fenetre_Definir_bouton_normal(66,62,29,14,"Inv" ,1,1,SDLK_i); // 21
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user