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)),
|
||||
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_normal(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_normal(121, 81,11,11,"\032",0,1,SDLK_RIGHT); // 16
|
||||
Fenetre_Definir_bouton_repetable(109, 69,11,11,"\030",0,1,SDLK_UP); // 13
|
||||
Fenetre_Definir_bouton_repetable(109, 93,11,11,"\031",0,1,SDLK_DOWN); // 14
|
||||
Fenetre_Definir_bouton_repetable( 97, 81,11,11,"\033",0,1,SDLK_LEFT); // 15
|
||||
Fenetre_Definir_bouton_repetable(121, 81,11,11,"\032",0,1,SDLK_RIGHT); // 16
|
||||
|
||||
for (Indice=0; Indice<12; Indice++)
|
||||
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
|
||||
Fenetre_Definir_bouton_saisie(220,43,3); // 7
|
||||
Bouton_taille_texte=Fenetre_Liste_boutons_special;
|
||||
Fenetre_Definir_bouton_normal(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(202,43,13,11,"-",0,1,SDLK_LAST); // 8
|
||||
Fenetre_Definir_bouton_repetable(251,43,13,11,"+",0,1,SDLK_LAST); // 9
|
||||
|
||||
// Preview
|
||||
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->Hauteur =Hauteur;
|
||||
Temp->Raccourci=Raccourci;
|
||||
Temp->Repetable=0;
|
||||
|
||||
Temp->Next=Fenetre_Liste_boutons_normal;
|
||||
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);
|
||||
}
|
||||
//------ 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)
|
||||
{
|
||||
@ -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))
|
||||
{
|
||||
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)
|
||||
{
|
||||
Effacer_curseur();
|
||||
@ -2019,6 +2057,8 @@ short Fenetre_Numero_bouton_clicke(void)
|
||||
Effacer_curseur();
|
||||
Fenetre_Desenfoncer_bouton_normal(Temp1->Pos_X,Temp1->Pos_Y,Temp1->Largeur,Temp1->Hauteur);
|
||||
Afficher_curseur();
|
||||
|
||||
Fenetre_Attribut1=Mouse_K;
|
||||
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,
|
||||
char * Titre,byte Lettre_soulignee,
|
||||
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_Effacer_tags(void);
|
||||
|
||||
@ -860,8 +860,8 @@ void Bouton_Palette(void)
|
||||
Fenetre_Definir_bouton_scroller(225,20,31,7,1,Indice_Reduction_palette);// 17
|
||||
Jauge_Reduction=Fenetre_Liste_boutons_scroller;
|
||||
|
||||
Fenetre_Definir_bouton_normal(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, 74,12,11,"+",0,1,SDLK_KP_PLUS); // 18
|
||||
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(66,62,29,14,"Inv" ,1,1,SDLK_i); // 21
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user