Added constants for shift/ctrl/alt modifiers

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@173 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud 2008-09-27 17:12:11 +00:00
parent 554b765ce3
commit 7197a98fe3
7 changed files with 22 additions and 17 deletions

View File

@ -1773,7 +1773,7 @@ void Bouton_Degrades(void)
Fenetre_Definir_bouton_normal(8,22,15,14,
(Degrade_Tableau[Degrade_Courant].Inverse)?"\033":"\032",0,1,SDLK_TAB); // 4
// Définition du bouton de technique
Fenetre_Definir_bouton_normal(8,92,15,14,"",0,1,SDLK_TAB|0x1000); // 5
Fenetre_Definir_bouton_normal(8,92,15,14,"",0,1,SDLK_TAB|MOD_SHIFT); // 5
Degrade_Dessiner_bouton_de_technique(8,92,Degrade_Tableau[Degrade_Courant].Technique);
Fenetre_Definir_bouton_normal(178,112,51,14,"OK",0,1,SDLK_RETURN); // 6
@ -4890,10 +4890,10 @@ void Bouton_Trame_Menu(void)
Fenetre_Definir_bouton_normal( 8,46,131,14,"Get from brush" ,1,1,SDLK_g); // 6
Fenetre_Definir_bouton_normal(142,46,139,14,"Transfer to brush",1,1,SDLK_t); // 7
Fenetre_Definir_bouton_normal(109,114,11,11,"\030",0,1,SDLK_UP|0x1000); // 8
Fenetre_Definir_bouton_normal(109,138,11,11,"\031",0,1,SDLK_DOWN|0x1000); // 9
Fenetre_Definir_bouton_normal( 97,126,11,11,"\033",0,1,SDLK_LEFT|0x1000); // 10
Fenetre_Definir_bouton_normal(121,126,11,11,"\032",0,1,SDLK_RIGHT|0x1000); // 11
Fenetre_Definir_bouton_normal(109,114,11,11,"\030",0,1,SDLK_UP|MOD_SHIFT); // 8
Fenetre_Definir_bouton_normal(109,138,11,11,"\031",0,1,SDLK_DOWN|MOD_SHIFT); // 9
Fenetre_Definir_bouton_normal( 97,126,11,11,"\033",0,1,SDLK_LEFT|MOD_SHIFT); // 10
Fenetre_Definir_bouton_normal(121,126,11,11,"\032",0,1,SDLK_RIGHT|MOD_SHIFT); // 11
Fenetre_Definir_bouton_normal(109,126,11,11,"" ,0,1,SDLK_INSERT); // 12
Bouton_Octet_insere=Fenetre_Liste_boutons_normal;
Block(Fenetre_Pos_X+(Menu_Facteur_X*(Bouton_Octet_insere->Pos_X+2)),

View File

@ -304,11 +304,11 @@ word Conversion_Touche(SDL_keysym Sym)
Retour = (Sym.unicode & 0x07FF) | 0x0800;
if (Sym.mod & (KMOD_LSHIFT | KMOD_RSHIFT))
Retour |= 0x1000;
Retour |= MOD_SHIFT;
if (Sym.mod & (KMOD_LCTRL | KMOD_RCTRL))
Retour |= 0x2000;
Retour |= MOD_CTRL;
if (Sym.mod & (KMOD_LALT | KMOD_RALT | KMOD_MODE))
Retour |= 0x4000;
Retour |= MOD_ALT;
return Retour;
}
@ -398,11 +398,11 @@ const char * Nom_touche(word Touche)
static char Buffer[41];
Buffer[0] = '\0';
if (Touche & 0x2000)
if (Touche & MOD_CTRL)
strcat(Buffer, "<Ctrl> + ");
if (Touche & 0x4000)
if (Touche & MOD_ALT)
strcat(Buffer, "<Alt> + ");
if (Touche & 0x1000)
if (Touche & MOD_SHIFT)
strcat(Buffer, "<Shift> + ");
if (Touche & 0x8000)

View File

@ -3,3 +3,4 @@ word Conversion_ANSI(SDL_keysym Sym);
word Conversion_Touche(SDL_keysym Sym);
word Touche_pour_scancode(word scancode);
const char * Nom_touche(word Touche);

View File

@ -111,6 +111,10 @@ GLOBAL byte Mouse_K; // Etat des boutons de la souris
GLOBAL dword Touche; // Touche tapée
GLOBAL dword Touche_ANSI; // Caractère tapé
GLOBAL Uint8* Etat_Du_Clavier; // Scancode de la touche en cours et etat des touches de ctrl
// Modificateurs pour Touche
#define MOD_SHIFT 0x1000
#define MOD_CTRL 0x2000
#define MOD_ALT 0x4000
GLOBAL byte Mouse_Facteur_de_correction_X;
GLOBAL byte Mouse_Facteur_de_correction_Y;

View File

@ -1796,7 +1796,7 @@ short Fenetre_Numero_bouton_touche(void)
{
struct Fenetre_Bouton_normal * Temp;
if (Touche & 0x1000)
if (Touche & MOD_SHIFT)
Fenetre_Attribut1=A_DROITE;
else
Fenetre_Attribut1=A_GAUCHE;

View File

@ -3192,11 +3192,11 @@ void Etirer_brosse_0_7(void)
Largeur=(Brosse_Largeur>1)?Debut_X+(Brosse_Largeur>>1)-1:1;
Hauteur=(Brosse_Hauteur>1)?Debut_Y+(Brosse_Hauteur>>1)-1:1;
break;
case SDLK_x|0x1000: // Moitié X
case SDLK_x|MOD_SHIFT: // Moitié X
Largeur=(Brosse_Largeur>1)?Debut_X+(Brosse_Largeur>>1)-1:1;
Hauteur=Debut_Y+Brosse_Hauteur-1;
break;
case SDLK_y|0x1000: // Moitié Y
case SDLK_y|MOD_SHIFT: // Moitié Y
Largeur=Debut_X+Brosse_Largeur-1;
Hauteur=(Brosse_Hauteur>1)?Debut_Y+(Brosse_Hauteur>>1)-1:1;
break;

View File

@ -1635,11 +1635,11 @@ void Bouton_Palette(void)
}
break;
case (SDLK_LEFTBRACKET|0x1000) : // Decaler Backcolor vers la gauche
case (SDLK_LEFTBRACKET|MOD_SHIFT) : // Decaler Backcolor vers la gauche
Back_color--;
case (SDLK_RIGHTBRACKET|0x1000) : // Decaler Backcolor vers la droite
case (SDLK_RIGHTBRACKET|MOD_SHIFT) : // Decaler Backcolor vers la droite
// attention: pas de break ci-dessus
if (Touche==(SDLK_RIGHTBRACKET|0x1000))
if (Touche==(SDLK_RIGHTBRACKET|MOD_SHIFT))
Back_color++;
Effacer_curseur();
Block(Fenetre_Pos_X+(Menu_Facteur_X*260),Fenetre_Pos_Y+(Menu_Facteur_Y* 89),Menu_Facteur_X*24,Menu_Facteur_Y<<2,Back_color);