Some fixes to get_input : allows to move windows.
Touche is now resetted to 0 only when a shortcut is processed. So you can let it at the key value for cursor moves, for example. But it does not work, i must have missed something :/ git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@577 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
0f4776d4a6
commit
6dd54a1686
3
Makefile
3
Makefile
@ -145,7 +145,7 @@ else
|
||||
ZIP = zip
|
||||
else
|
||||
|
||||
# Linux specific
|
||||
# Linux and FreeBSD specific (default rules)
|
||||
DELCOMMAND = rm -rf
|
||||
MKDIR = mkdir -p
|
||||
RMDIR = rmdir
|
||||
@ -183,6 +183,7 @@ else
|
||||
COPT = -W -Wall -Wdeclaration-after-statement -pedantic -std=c99 -c -g `sdl-config --cflags` $(TTFCOPT)
|
||||
LOPT = `sdl-config --libs` -lSDL_image $(TTFLOPT)
|
||||
CC = gcc
|
||||
#CC = nccgen -ncgcc -ncld -ncfabs #ncc makes callgraphs
|
||||
OBJDIR = obj/unix
|
||||
X11LOPT = -lX11
|
||||
endif
|
||||
|
||||
9
aide.c
9
aide.c
@ -323,11 +323,13 @@ void Fenetre_aide(int Section, const char *Sous_section)
|
||||
if (Position_d_aide_en_cours>0)
|
||||
Position_d_aide_en_cours--;
|
||||
Scroller_aide();
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_DOWN : // Bas
|
||||
if (Position_d_aide_en_cours<Nb_lignes-16)
|
||||
Position_d_aide_en_cours++;
|
||||
Scroller_aide();
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_PAGEUP : // PageUp
|
||||
if (Position_d_aide_en_cours>15)
|
||||
@ -335,6 +337,7 @@ void Fenetre_aide(int Section, const char *Sous_section)
|
||||
else
|
||||
Position_d_aide_en_cours=0;
|
||||
Scroller_aide();
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_PAGEDOWN : // PageDown
|
||||
if (Position_d_aide_en_cours<Nb_lignes-31)
|
||||
@ -342,20 +345,24 @@ void Fenetre_aide(int Section, const char *Sous_section)
|
||||
else
|
||||
Position_d_aide_en_cours=Nb_lignes-16;
|
||||
Scroller_aide();
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_HOME : // Home
|
||||
Position_d_aide_en_cours=0;
|
||||
Scroller_aide();
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_END : // End
|
||||
Position_d_aide_en_cours=Nb_lignes-16;
|
||||
Scroller_aide();
|
||||
Touche=0;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
while ((Bouton_clicke!=1) && (Touche!=SDLK_RETURN));
|
||||
|
||||
if(Touche==SDLK_RETURN) Touche=0;
|
||||
Fermer_fenetre();
|
||||
Desenclencher_bouton(BOUTON_AIDE);
|
||||
Afficher_curseur();
|
||||
@ -469,6 +476,8 @@ void Bouton_Stats(void)
|
||||
}
|
||||
while ( (Bouton_clicke!=1) && (Touche!=SDLK_RETURN) );
|
||||
|
||||
if(Touche==SDLK_RETURN)Touche=0;
|
||||
|
||||
Fermer_fenetre();
|
||||
Desenclencher_bouton(BOUTON_AIDE);
|
||||
Afficher_curseur();
|
||||
|
||||
35
boutons.c
35
boutons.c
@ -112,6 +112,8 @@ void Message_Non_disponible(void)
|
||||
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||
while ((Bouton_clicke<=0) && (Touche!=SDLK_ESCAPE) && (Touche!=SDLK_o));
|
||||
|
||||
if(Bouton_clicke<=0) Touche=0;
|
||||
|
||||
Fermer_fenetre();
|
||||
|
||||
// Puisque cette fonction peut être appelée par plusieurs boutons et qu'on
|
||||
@ -142,6 +144,7 @@ void Message_Memoire_insuffisante(void)
|
||||
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||
while ((Bouton_clicke<=0) && (Touche!=SDLK_ESCAPE) && (Touche!=SDLK_o));
|
||||
|
||||
if(Bouton_clicke<=0) Touche=0;
|
||||
Fermer_fenetre();
|
||||
Afficher_curseur();
|
||||
}
|
||||
@ -184,6 +187,7 @@ void Bouton_Message_initial(void)
|
||||
}
|
||||
while (Bouton_clicke==0 && Touche==0);
|
||||
|
||||
if(Bouton_clicke!=0) Touche=0;
|
||||
Fermer_fenetre();
|
||||
Afficher_curseur();
|
||||
|
||||
@ -623,11 +627,13 @@ void Menu_Tag_couleurs(char * En_tete, byte * Table, byte * Mode, byte Cancel, c
|
||||
Stencil_Actualiser_couleur(Couleur_taggee);
|
||||
Afficher_curseur();
|
||||
}
|
||||
Touche=0;
|
||||
break;
|
||||
default:
|
||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||
{
|
||||
Fenetre_aide(BOUTON_EFFETS, Section_aide);
|
||||
Touche=0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1544,6 +1550,7 @@ void Bouton_Resol(void)
|
||||
if (Debut_liste>0)
|
||||
Debut_liste--;
|
||||
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_DOWN : // Bas
|
||||
if (Position_curseur<11 && Position_curseur<(Nb_modes_video-1))
|
||||
@ -1552,6 +1559,7 @@ void Bouton_Resol(void)
|
||||
if (Debut_liste<Nb_modes_video-12)
|
||||
Debut_liste++;
|
||||
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_PAGEUP : // PageUp
|
||||
if (Position_curseur>0)
|
||||
@ -1564,6 +1572,7 @@ void Bouton_Resol(void)
|
||||
Debut_liste=0;
|
||||
}
|
||||
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_PAGEDOWN : // PageDown
|
||||
if (Nb_modes_video<12)
|
||||
@ -1578,11 +1587,13 @@ void Bouton_Resol(void)
|
||||
Debut_liste=Nb_modes_video-12;
|
||||
}
|
||||
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_HOME : // Home
|
||||
Debut_liste=0;
|
||||
Position_curseur=0;
|
||||
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_END : // End
|
||||
if (Nb_modes_video<12)
|
||||
@ -1593,11 +1604,13 @@ void Bouton_Resol(void)
|
||||
Position_curseur=11;
|
||||
}
|
||||
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
||||
Touche=0;
|
||||
break;
|
||||
default:
|
||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||
{
|
||||
Fenetre_aide(BOUTON_RESOL, NULL);
|
||||
Touche=0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -2058,11 +2071,13 @@ void Bouton_Degrades(void)
|
||||
|
||||
Afficher_curseur();
|
||||
}
|
||||
Touche=0;
|
||||
break;
|
||||
default:
|
||||
if (Touche==Bouton[BOUTON_GRADMENU].Raccourci_gauche)
|
||||
{
|
||||
Fenetre_aide(BOUTON_PINCEAUX, NULL);
|
||||
Touche=0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -2865,36 +2880,42 @@ byte Bouton_Load_ou_Save(byte Load, byte Image)
|
||||
Effacer_curseur();
|
||||
Select_Scroll_Down(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
||||
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_UP : // Haut
|
||||
*Fichier_recherche=0;
|
||||
Effacer_curseur();
|
||||
Select_Scroll_Up(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
||||
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_PAGEDOWN : // Page Down
|
||||
*Fichier_recherche=0;
|
||||
Effacer_curseur();
|
||||
Select_Page_Down(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
||||
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_PAGEUP : // Page Up
|
||||
*Fichier_recherche=0;
|
||||
Effacer_curseur();
|
||||
Select_Page_Up(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
||||
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_END : // End
|
||||
*Fichier_recherche=0;
|
||||
Effacer_curseur();
|
||||
Select_End(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
||||
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_HOME : // Home
|
||||
*Fichier_recherche=0;
|
||||
Effacer_curseur();
|
||||
Select_Home(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
||||
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
||||
Touche=0;
|
||||
break;
|
||||
case SDLK_BACKSPACE : // Backspace
|
||||
*Fichier_recherche=0;
|
||||
@ -2906,6 +2927,7 @@ byte Bouton_Load_ou_Save(byte Load, byte Image)
|
||||
Type_selectionne=1;
|
||||
On_a_clicke_sur_OK=1;
|
||||
}
|
||||
Touche=0;
|
||||
break;
|
||||
default: // Autre => On se place sur le nom de fichier qui correspond
|
||||
if (Bouton_clicke<=0)
|
||||
@ -2933,6 +2955,7 @@ byte Bouton_Load_ou_Save(byte Load, byte Image)
|
||||
}
|
||||
else
|
||||
*Fichier_recherche=0;
|
||||
Touche=0;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -4185,7 +4208,10 @@ void Bouton_Brush_FX(void)
|
||||
{
|
||||
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||
{
|
||||
Touche=0;
|
||||
Fenetre_aide(BOUTON_EFFETS_BROSSE, NULL);
|
||||
}
|
||||
}
|
||||
while (Bouton_clicke<=0);
|
||||
|
||||
@ -5008,11 +5034,13 @@ void Bouton_Spray_Menu(void)
|
||||
Afficher_curseur();
|
||||
Stencil_Actualiser_couleur(Couleur_selectionnee);
|
||||
}
|
||||
Touche=0;
|
||||
break;
|
||||
default:
|
||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||
{
|
||||
Fenetre_aide(BOUTON_SPRAY, NULL);
|
||||
Touche=0;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -5472,7 +5500,10 @@ void Bouton_Trame_Menu(void)
|
||||
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
||||
}
|
||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||
{
|
||||
Touche=0;
|
||||
Fenetre_aide(BOUTON_EFFETS, "SIEVE");
|
||||
}
|
||||
}
|
||||
while ( (Bouton_clicke!=2) && (Bouton_clicke!=3) );
|
||||
|
||||
@ -5628,9 +5659,13 @@ void Bouton_Effets(void)
|
||||
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||
|
||||
if (Touche==SDLK_ESCAPE)
|
||||
{
|
||||
Bouton_clicke=11;
|
||||
Touche=0;
|
||||
}
|
||||
else if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||
{
|
||||
Touche=0;
|
||||
// Aide contextuelle
|
||||
switch(Fenetre_Numero_bouton_clicke())
|
||||
{
|
||||
|
||||
32
const.h
32
const.h
@ -294,22 +294,22 @@ enum NUMEROS_DE_BOUTONS
|
||||
|
||||
enum ACTIONS_SPECIALES
|
||||
{
|
||||
SPECIAL_MOUSE_UP, // |
|
||||
SPECIAL_MOUSE_DOWN, // |
|
||||
SPECIAL_MOUSE_LEFT, // |
|
||||
SPECIAL_MOUSE_RIGHT, // |
|
||||
SPECIAL_CLICK_LEFT, // | Il faut garder
|
||||
SPECIAL_CLICK_RIGHT, // | ces constantes
|
||||
SPECIAL_NEXT_FORECOLOR, // | au début de la
|
||||
SPECIAL_PREVIOUS_FORECOLOR, // |_ liste car elles
|
||||
SPECIAL_NEXT_BACKCOLOR, // | sont réutilisées
|
||||
SPECIAL_PREVIOUS_BACKCOLOR, // | avec leurs valeurs
|
||||
SPECIAL_RETRECIR_PINCEAU, // | brutes en ASM dans
|
||||
SPECIAL_GROSSIR_PINCEAU, // | Get_input !!!
|
||||
SPECIAL_NEXT_USER_FORECOLOR, // |
|
||||
SPECIAL_PREVIOUS_USER_FORECOLOR, // |
|
||||
SPECIAL_NEXT_USER_BACKCOLOR, // |
|
||||
SPECIAL_PREVIOUS_USER_BACKCOLOR, // |
|
||||
SPECIAL_MOUSE_UP,
|
||||
SPECIAL_MOUSE_DOWN,
|
||||
SPECIAL_MOUSE_LEFT,
|
||||
SPECIAL_MOUSE_RIGHT,
|
||||
SPECIAL_CLICK_LEFT,
|
||||
SPECIAL_CLICK_RIGHT,
|
||||
SPECIAL_NEXT_FORECOLOR,
|
||||
SPECIAL_PREVIOUS_FORECOLOR,
|
||||
SPECIAL_NEXT_BACKCOLOR,
|
||||
SPECIAL_PREVIOUS_BACKCOLOR,
|
||||
SPECIAL_RETRECIR_PINCEAU,
|
||||
SPECIAL_GROSSIR_PINCEAU,
|
||||
SPECIAL_NEXT_USER_FORECOLOR,
|
||||
SPECIAL_PREVIOUS_USER_FORECOLOR,
|
||||
SPECIAL_NEXT_USER_BACKCOLOR,
|
||||
SPECIAL_PREVIOUS_USER_BACKCOLOR,
|
||||
SPECIAL_SCROLL_UP,
|
||||
SPECIAL_SCROLL_DOWN,
|
||||
SPECIAL_SCROLL_LEFT,
|
||||
|
||||
94
input.c
94
input.c
@ -133,9 +133,7 @@ int Handle_Mouse_Move(SDL_Event* event)
|
||||
INPUT_Nouveau_Mouse_X = event->motion.x/Pixel_width;
|
||||
INPUT_Nouveau_Mouse_Y = event->motion.y/Pixel_height;
|
||||
|
||||
if(Move_cursor_with_constraints()) return 0;
|
||||
|
||||
return 1;
|
||||
return Move_cursor_with_constraints();
|
||||
}
|
||||
|
||||
void Handle_Mouse_Click(SDL_Event* event)
|
||||
@ -190,10 +188,8 @@ int Handle_Key_Press(SDL_Event* event)
|
||||
Touche = Conversion_Touche(event->key.keysym);
|
||||
Touche_ANSI = Conversion_ANSI(event->key.keysym);
|
||||
|
||||
// Instead of all this mess, send back a mouse event !
|
||||
if(Touche == Config_Touche[0])
|
||||
if(Touche == Config_Touche[SPECIAL_MOUSE_UP])
|
||||
{
|
||||
//[Touche] = Emulation de MOUSE UP
|
||||
//si on est déjà en haut on peut plus bouger
|
||||
if(INPUT_Nouveau_Mouse_Y!=0)
|
||||
{
|
||||
@ -205,9 +201,8 @@ int Handle_Key_Press(SDL_Event* event)
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if(Touche == Config_Touche[1])
|
||||
else if(Touche == Config_Touche[SPECIAL_MOUSE_DOWN])
|
||||
{
|
||||
//[Touche] = Emulation de MOUSE DOWN
|
||||
if(INPUT_Nouveau_Mouse_Y<Hauteur_ecran-1)
|
||||
{
|
||||
if(Loupe_Mode && INPUT_Nouveau_Mouse_Y < Menu_Ordonnee && INPUT_Nouveau_Mouse_X > Principal_Split)
|
||||
@ -222,9 +217,8 @@ int Handle_Key_Press(SDL_Event* event)
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if(Touche == Config_Touche[2])
|
||||
else if(Touche == Config_Touche[SPECIAL_MOUSE_LEFT])
|
||||
{
|
||||
//[Touche] = Emulation de MOUSE LEFT
|
||||
if(INPUT_Nouveau_Mouse_X!=0)
|
||||
{
|
||||
if(Loupe_Mode && INPUT_Nouveau_Mouse_Y < Menu_Ordonnee && INPUT_Nouveau_Mouse_X > Principal_Split)
|
||||
@ -235,10 +229,8 @@ int Handle_Key_Press(SDL_Event* event)
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if(Touche == Config_Touche[3])
|
||||
else if(Touche == Config_Touche[SPECIAL_MOUSE_RIGHT])
|
||||
{
|
||||
//[Touche] = Emulation de MOUSE RIGHT
|
||||
|
||||
if(INPUT_Nouveau_Mouse_X<Largeur_ecran-1)
|
||||
{
|
||||
if(Loupe_Mode && INPUT_Nouveau_Mouse_Y < Menu_Ordonnee && INPUT_Nouveau_Mouse_X > Principal_Split)
|
||||
@ -253,51 +245,46 @@ int Handle_Key_Press(SDL_Event* event)
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if(Touche == Config_Touche[4])
|
||||
else if(Touche == Config_Touche[SPECIAL_CLICK_LEFT])
|
||||
{
|
||||
//[Touche] = Emulation de MOUSE CLICK LEFT
|
||||
INPUT_Nouveau_Mouse_K=1;
|
||||
Move_cursor_with_constraints();
|
||||
return 1;
|
||||
}
|
||||
else if(Touche == Config_Touche[5])
|
||||
else if(Touche == Config_Touche[SPECIAL_CLICK_RIGHT])
|
||||
{
|
||||
//[Touche] = Emulation de MOUSE CLICK RIGHT
|
||||
INPUT_Nouveau_Mouse_K=2;
|
||||
Move_cursor_with_constraints();
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(Operation_Taille_pile!=0)
|
||||
if (Operation_Taille_pile!=0 && Touche != 0)
|
||||
{
|
||||
if (Touche != 0)
|
||||
//Enfin, on inhibe les touches (sauf si c'est un changement de couleur
|
||||
//ou de taille de pinceau lors d'une des operations suivantes:
|
||||
//OPERATION_DESSIN_CONTINU, OPERATION_DESSIN_DISCONTINU, OPERATION_SPRAY)
|
||||
if(Autoriser_changement_de_couleur_pendant_operation)
|
||||
{
|
||||
//Enfin, on inhibe les touches (sauf si c'est un changement de couleur
|
||||
//ou de taille de pinceau lors d'une des operations suivantes:
|
||||
//OPERATION_DESSIN_CONTINU, OPERATION_DESSIN_DISCONTINU, OPERATION_SPRAY)
|
||||
if(Autoriser_changement_de_couleur_pendant_operation)
|
||||
{
|
||||
//A ce stade là, on sait qu'on est dans une des 3 opérations
|
||||
//supportant le changement de couleur ou de taille de pinceau.
|
||||
//A ce stade là, on sait qu'on est dans une des 3 opérations
|
||||
//supportant le changement de couleur ou de taille de pinceau.
|
||||
|
||||
if(
|
||||
(Touche != Config_Touche[6]) &&
|
||||
(Touche != Config_Touche[7]) &&
|
||||
(Touche != Config_Touche[8]) &&
|
||||
(Touche != Config_Touche[9]) &&
|
||||
(Touche != Config_Touche[10]) &&
|
||||
(Touche != Config_Touche[11]) &&
|
||||
(Touche != Config_Touche[12]) &&
|
||||
(Touche != Config_Touche[13]) &&
|
||||
(Touche != Config_Touche[14]) &&
|
||||
(Touche != Config_Touche[15])
|
||||
)
|
||||
{
|
||||
Touche=0;
|
||||
}
|
||||
if(
|
||||
(Touche != Config_Touche[SPECIAL_NEXT_FORECOLOR]) &&
|
||||
(Touche != Config_Touche[SPECIAL_PREVIOUS_FORECOLOR]) &&
|
||||
(Touche != Config_Touche[SPECIAL_NEXT_BACKCOLOR]) &&
|
||||
(Touche != Config_Touche[SPECIAL_PREVIOUS_BACKCOLOR]) &&
|
||||
(Touche != Config_Touche[SPECIAL_RETRECIR_PINCEAU]) &&
|
||||
(Touche != Config_Touche[SPECIAL_GROSSIR_PINCEAU]) &&
|
||||
(Touche != Config_Touche[SPECIAL_NEXT_USER_FORECOLOR]) &&
|
||||
(Touche != Config_Touche[SPECIAL_PREVIOUS_USER_FORECOLOR]) &&
|
||||
(Touche != Config_Touche[SPECIAL_NEXT_USER_BACKCOLOR]) &&
|
||||
(Touche != Config_Touche[SPECIAL_PREVIOUS_USER_BACKCOLOR])
|
||||
)
|
||||
{
|
||||
Touche=0;
|
||||
}
|
||||
else Touche = 0;
|
||||
}
|
||||
else Touche = 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -306,21 +293,20 @@ void Handle_Key_Release(SDL_Event* event)
|
||||
{
|
||||
int ToucheR = Conversion_Touche(event->key.keysym);
|
||||
|
||||
// Send back a mouse event instead. Or extract the code and put it in common.
|
||||
if(ToucheR == Config_Touche[4])
|
||||
if(ToucheR == Config_Touche[SPECIAL_CLICK_LEFT])
|
||||
{
|
||||
INPUT_Nouveau_Mouse_K=0;
|
||||
INPUT_Nouveau_Mouse_K &= ~1;
|
||||
Move_cursor_with_constraints();
|
||||
}
|
||||
else if(ToucheR == Config_Touche[5])
|
||||
else if(ToucheR == Config_Touche[SPECIAL_CLICK_RIGHT])
|
||||
{
|
||||
//[Touche] = Emulation de MOUSE CLICK RIGHT
|
||||
INPUT_Nouveau_Mouse_K=0;
|
||||
INPUT_Nouveau_Mouse_K &= ~2;
|
||||
Move_cursor_with_constraints();
|
||||
}
|
||||
|
||||
Touche = 0;
|
||||
Touche_ANSI=0;
|
||||
// Other keys don't need to be released : they are handled as "events" and procesed only once.
|
||||
// These clicks are apart because they need to be continuous (ie move while key pressed)
|
||||
// We are relying on "hardware" keyrepeat to achieve that.
|
||||
}
|
||||
|
||||
|
||||
@ -343,10 +329,12 @@ int Get_input(void)
|
||||
SDL_Event event;
|
||||
int User_Feedback_Required = 0; // Flag qui indique si on doit arrêter de traiter les évènements ou si on peut enchainer
|
||||
|
||||
/*Touche =*/ Touche_ANSI = 0;
|
||||
|
||||
// Process as much events as possible without redrawing the screen.
|
||||
// This mostly allows us to merge mouse events for people with an high
|
||||
// resolution mouse
|
||||
while( !User_Feedback_Required && SDL_PollEvent(&event))
|
||||
while( (!User_Feedback_Required) && SDL_PollEvent(&event))
|
||||
{
|
||||
switch(event.type)
|
||||
{
|
||||
@ -361,7 +349,7 @@ int Get_input(void)
|
||||
break;
|
||||
|
||||
case SDL_MOUSEMOTION:
|
||||
Handle_Mouse_Move(&event);
|
||||
User_Feedback_Required = Handle_Mouse_Move(&event); // On ne sort que si la souris a vraiment bougé
|
||||
break;
|
||||
|
||||
case SDL_MOUSEBUTTONDOWN:
|
||||
@ -393,7 +381,7 @@ int Get_input(void)
|
||||
break;
|
||||
|
||||
default:
|
||||
DEBUG("Unhandled SDL event !",0);
|
||||
DEBUG("Unhandled SDL event number : ",event.type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
5
main.c
5
main.c
@ -372,7 +372,10 @@ void Initialisation_du_programme(int argc,char * argv[])
|
||||
joystick = SDL_JoystickOpen(0);
|
||||
SDL_EnableKeyRepeat(250, 32);
|
||||
SDL_EnableUNICODE(SDL_ENABLE);
|
||||
SDL_WM_SetCaption("GrafX2 beta "POURCENTAGE_VERSION" - USE AT YOUR OWN RISK","GrafX2");
|
||||
if(ALPHA_BETA[0]=='ß')
|
||||
SDL_WM_SetCaption("GrafX2 beta "POURCENTAGE_VERSION""" - USE AT YOUR OWN RISK","GrafX2");
|
||||
else
|
||||
SDL_WM_SetCaption("GrafX2 v2.00 final","GrafX2");
|
||||
{
|
||||
// Routine pour définir l'icone.
|
||||
char Chemin_icone[TAILLE_CHEMIN_FICHIER];
|
||||
|
||||
115
moteur.c
115
moteur.c
@ -527,111 +527,134 @@ void Gestion_principale(void)
|
||||
Scroller_loupe(0,-(Loupe_Hauteur>>2));
|
||||
else
|
||||
Scroller_ecran(0,-(Hauteur_ecran>>3));
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SCROLL_DOWN : // Scroll down
|
||||
if (Loupe_Mode)
|
||||
Scroller_loupe(0,(Loupe_Hauteur>>2));
|
||||
else
|
||||
Scroller_ecran(0,(Hauteur_ecran>>3));
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SCROLL_LEFT : // Scroll left
|
||||
if (Loupe_Mode)
|
||||
Scroller_loupe(-(Loupe_Largeur>>2),0);
|
||||
else
|
||||
Scroller_ecran(-(Largeur_ecran>>3),0);
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SCROLL_RIGHT : // Scroll right
|
||||
if (Loupe_Mode)
|
||||
Scroller_loupe((Loupe_Largeur>>2),0);
|
||||
else
|
||||
Scroller_ecran((Largeur_ecran>>3),0);
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SCROLL_UP_FAST : // Scroll up faster
|
||||
if (Loupe_Mode)
|
||||
Scroller_loupe(0,-(Loupe_Hauteur>>1));
|
||||
else
|
||||
Scroller_ecran(0,-(Hauteur_ecran>>2));
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SCROLL_DOWN_FAST : // Scroll down faster
|
||||
if (Loupe_Mode)
|
||||
Scroller_loupe(0,(Loupe_Hauteur>>1));
|
||||
else
|
||||
Scroller_ecran(0,(Hauteur_ecran>>2));
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SCROLL_LEFT_FAST : // Scroll left faster
|
||||
if (Loupe_Mode)
|
||||
Scroller_loupe(-(Loupe_Largeur>>1),0);
|
||||
else
|
||||
Scroller_ecran(-(Largeur_ecran>>2),0);
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SCROLL_RIGHT_FAST : // Scroll right faster
|
||||
if (Loupe_Mode)
|
||||
Scroller_loupe((Loupe_Largeur>>1),0);
|
||||
else
|
||||
Scroller_ecran((Largeur_ecran>>2),0);
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SCROLL_UP_SLOW : // Scroll up slower
|
||||
if (Loupe_Mode)
|
||||
Scroller_loupe(0,-1);
|
||||
else
|
||||
Scroller_ecran(0,-1);
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SCROLL_DOWN_SLOW : // Scroll down slower
|
||||
if (Loupe_Mode)
|
||||
Scroller_loupe(0,1);
|
||||
else
|
||||
Scroller_ecran(0,1);
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SCROLL_LEFT_SLOW : // Scroll left slower
|
||||
if (Loupe_Mode)
|
||||
Scroller_loupe(-1,0);
|
||||
else
|
||||
Scroller_ecran(-1,0);
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SCROLL_RIGHT_SLOW : // Scroll right slower
|
||||
if (Loupe_Mode)
|
||||
Scroller_loupe(1,0);
|
||||
else
|
||||
Scroller_ecran(1,0);
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_NEXT_FORECOLOR : // Next foreground color
|
||||
Special_Next_forecolor();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_PREVIOUS_FORECOLOR : // Previous foreground color
|
||||
Special_Previous_forecolor();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_NEXT_BACKCOLOR : // Next background color
|
||||
Special_Next_backcolor();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_PREVIOUS_BACKCOLOR : // Previous background color
|
||||
Special_Previous_backcolor();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_RETRECIR_PINCEAU: // Rétrécir le pinceau
|
||||
Retrecir_pinceau();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_GROSSIR_PINCEAU: // Grossir le pinceau
|
||||
Grossir_pinceau();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_NEXT_USER_FORECOLOR : // Next user-defined foreground color
|
||||
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
||||
//Special_Next_user_forecolor();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_PREVIOUS_USER_FORECOLOR : // Previous user-defined foreground color
|
||||
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
||||
//Special_Previous_user_forecolor();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_NEXT_USER_BACKCOLOR : // Next user-defined background color
|
||||
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
||||
//Special_Next_user_backcolor();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_PREVIOUS_USER_BACKCOLOR : // Previous user-defined background color
|
||||
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
||||
//Special_Previous_user_backcolor();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SHOW_HIDE_CURSOR : // Show / Hide cursor
|
||||
Effacer_curseur();
|
||||
Cacher_curseur=!Cacher_curseur;
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_PINCEAU_POINT : // Paintbrush = "."
|
||||
Effacer_curseur();
|
||||
@ -639,26 +662,32 @@ void Gestion_principale(void)
|
||||
Modifier_pinceau(1,1);
|
||||
Changer_la_forme_du_pinceau(FORME_PINCEAU_ROND);
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_DESSIN_CONTINU : // Continuous freehand drawing
|
||||
Enclencher_bouton(BOUTON_DESSIN,A_GAUCHE);
|
||||
// ATTENTION CE TRUC EST MOCHE ET VA MERDER SI ON SE MET A UTILISER DES BOUTONS POPUPS
|
||||
while (Operation_en_cours!=OPERATION_DESSIN_CONTINU)
|
||||
Enclencher_bouton(BOUTON_DESSIN,A_DROITE);
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_FLIP_X : // Flip X
|
||||
Effacer_curseur();
|
||||
Flip_X_LOWLEVEL();
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_FLIP_Y : // Flip Y
|
||||
Effacer_curseur();
|
||||
Flip_Y_LOWLEVEL();
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_ROTATE_90 : // 90° brush rotation
|
||||
Effacer_curseur();
|
||||
Rotate_90_deg();
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_ROTATE_180 : // 180° brush rotation
|
||||
Effacer_curseur();
|
||||
@ -673,142 +702,180 @@ void Gestion_principale(void)
|
||||
Brosse_Decalage_X=(Brosse_Largeur>>1);
|
||||
Brosse_Decalage_Y=(Brosse_Hauteur>>1);
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_STRETCH : // Stretch brush
|
||||
Effacer_curseur();
|
||||
Demarrer_pile_operation(OPERATION_ETIRER_BROSSE);
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_DISTORT : // Distort brush
|
||||
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_ROTATE_ANY_ANGLE : // Rotate brush by any angle
|
||||
Effacer_curseur();
|
||||
Demarrer_pile_operation(OPERATION_TOURNER_BROSSE);
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_OUTLINE : // Outline brush
|
||||
Effacer_curseur();
|
||||
Outline_brush();
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_NIBBLE : // Nibble brush
|
||||
Effacer_curseur();
|
||||
Nibble_brush();
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_GET_BRUSH_COLORS : // Get colors from brush
|
||||
Get_colors_from_brush();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_RECOLORIZE_BRUSH : // Recolorize brush
|
||||
Effacer_curseur();
|
||||
Remap_brosse();
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_LOAD_BRUSH :
|
||||
Load_picture(0);
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SAVE_BRUSH :
|
||||
Save_picture(0);
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_ZOOM_IN : // Zoom in
|
||||
Zoom(+1);
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_ZOOM_OUT : // Zoom out
|
||||
Zoom(-1);
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_CENTER_ATTACHMENT : // Center brush attachment
|
||||
Effacer_curseur();
|
||||
Brosse_Decalage_X=(Brosse_Largeur>>1);
|
||||
Brosse_Decalage_Y=(Brosse_Hauteur>>1);
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_TOP_LEFT_ATTACHMENT : // Top-left brush attachment
|
||||
Effacer_curseur();
|
||||
Brosse_Decalage_X=0;
|
||||
Brosse_Decalage_Y=0;
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_TOP_RIGHT_ATTACHMENT : // Top-right brush attachment
|
||||
Effacer_curseur();
|
||||
Brosse_Decalage_X=(Brosse_Largeur-1);
|
||||
Brosse_Decalage_Y=0;
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_BOTTOM_LEFT_ATTACHMENT : // Bottom-left brush attachment
|
||||
Effacer_curseur();
|
||||
Brosse_Decalage_X=0;
|
||||
Brosse_Decalage_Y=(Brosse_Hauteur-1);
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_BOTTOM_RIGHT_ATTACHMENT : // Bottom right brush attachment
|
||||
Effacer_curseur();
|
||||
Brosse_Decalage_X=(Brosse_Largeur-1);
|
||||
Brosse_Decalage_Y=(Brosse_Hauteur-1);
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_EXCLUDE_COLORS_MENU : // Exclude colors menu
|
||||
Menu_Tag_couleurs("Tag colors to exclude",Exclude_color,&Temp,1, NULL);
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_INVERT_SIEVE :
|
||||
Inverser_trame();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SHADE_MODE :
|
||||
Bouton_Shade_Mode();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SHADE_MENU :
|
||||
Bouton_Shade_Menu();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_QUICK_SHADE_MODE :
|
||||
Bouton_Quick_shade_Mode();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_QUICK_SHADE_MENU :
|
||||
Bouton_Quick_shade_Menu();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_STENCIL_MODE :
|
||||
Bouton_Stencil_Mode();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_STENCIL_MENU :
|
||||
Bouton_Menu_Stencil();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_MASK_MODE :
|
||||
Bouton_Mask_Mode();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_MASK_MENU :
|
||||
Bouton_Mask_Menu();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_GRID_MODE :
|
||||
Bouton_Snap_Mode();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_GRID_MENU :
|
||||
Bouton_Menu_Grille();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SIEVE_MODE :
|
||||
Bouton_Trame_Mode();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SIEVE_MENU :
|
||||
Bouton_Trame_Menu();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_COLORIZE_MODE :
|
||||
Bouton_Colorize_Mode();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_COLORIZE_MENU :
|
||||
Bouton_Colorize_Menu();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SMOOTH_MODE :
|
||||
Bouton_Smooth_Mode();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SMOOTH_MENU :
|
||||
Bouton_Smooth_Menu();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_SMEAR_MODE :
|
||||
Bouton_Smear_Mode();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_TILING_MODE :
|
||||
Bouton_Tiling_Mode();
|
||||
Touche=0;
|
||||
break;
|
||||
case SPECIAL_TILING_MENU :
|
||||
Bouton_Tiling_Menu();
|
||||
Touche=0;
|
||||
break;
|
||||
default : // Gestion des touches de raccourci de bouton:
|
||||
// Pour chaque bouton
|
||||
@ -834,6 +901,7 @@ void Gestion_principale(void)
|
||||
{
|
||||
Enclencher_bouton(Bouton_Touche,Bouton_Cote);
|
||||
Indice_bouton_precedent=-1;
|
||||
Touche=0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1105,6 +1173,7 @@ void Fermer_fenetre(void)
|
||||
{
|
||||
// Restore de ce que la fenêtre cachait
|
||||
Restaure_fond(Fond_fenetre[Fenetre-1], Fenetre_Pos_X, Fenetre_Pos_Y, Fenetre_Largeur, Fenetre_Hauteur);
|
||||
Fond_fenetre[Fenetre-1]=NULL;
|
||||
UpdateRect(Fenetre_Pos_X,Fenetre_Pos_Y,Fenetre_Largeur*Menu_Facteur_X,Fenetre_Hauteur*Menu_Facteur_Y);
|
||||
Fenetre--;
|
||||
}
|
||||
@ -1540,6 +1609,7 @@ void Fermer_popup(void)
|
||||
{
|
||||
// Restore de ce que la fenêtre cachait
|
||||
Restaure_fond(Fond_fenetre[Fenetre-1], Fenetre_Pos_X, Fenetre_Pos_Y, Fenetre_Largeur, Fenetre_Hauteur);
|
||||
Fond_fenetre[Fenetre-1]=NULL;
|
||||
UpdateRect(Fenetre_Pos_X,Fenetre_Pos_Y,Fenetre_Largeur*Menu_Facteur_X,Fenetre_Hauteur*Menu_Facteur_Y);
|
||||
Fenetre--;
|
||||
}
|
||||
@ -1798,36 +1868,55 @@ void Deplacer_fenetre(short Dx, short Dy)
|
||||
Ancien_X=Nouveau_X;
|
||||
Ancien_Y=Nouveau_Y;
|
||||
|
||||
while(!Get_input())Wait_VBL();
|
||||
while(!Get_input())
|
||||
{
|
||||
Wait_VBL();
|
||||
}
|
||||
|
||||
Nouveau_X=Mouse_X-Dx;
|
||||
|
||||
if (Nouveau_X<0)
|
||||
{
|
||||
Nouveau_X=0;
|
||||
Dx = Mouse_X;
|
||||
}
|
||||
if (Nouveau_X>Largeur_ecran-Largeur)
|
||||
{
|
||||
Nouveau_X=Largeur_ecran-Largeur;
|
||||
Dx = Mouse_X - Nouveau_X;
|
||||
}
|
||||
|
||||
Nouveau_Y=Mouse_Y-Dy;
|
||||
if (Nouveau_Y<0)
|
||||
Nouveau_Y=0;
|
||||
if (Nouveau_Y>Hauteur_ecran-Hauteur)
|
||||
Nouveau_Y=Hauteur_ecran-Hauteur;
|
||||
|
||||
if ((Nouveau_X!=Ancien_X)
|
||||
|| (Nouveau_Y!=Ancien_Y))
|
||||
if (Nouveau_Y<0)
|
||||
{
|
||||
Nouveau_Y=0;
|
||||
Dy = Mouse_Y;
|
||||
}
|
||||
if (Nouveau_Y>Hauteur_ecran-Hauteur)
|
||||
{
|
||||
Nouveau_Y=Hauteur_ecran-Hauteur;
|
||||
Dy = Mouse_Y - Nouveau_Y;
|
||||
}
|
||||
|
||||
if ((Nouveau_X!=Ancien_X) || (Nouveau_Y!=Ancien_Y))
|
||||
{
|
||||
Effacer_curseur();
|
||||
|
||||
Ligne_horizontale_XOR(Ancien_X,Ancien_Y,Largeur);
|
||||
Ligne_verticale_XOR(Ancien_X,Ancien_Y+1,Hauteur-2);
|
||||
Ligne_verticale_XOR(Ancien_X+Largeur-1,Ancien_Y+1,Hauteur-2);
|
||||
Ligne_horizontale_XOR(Ancien_X,Ancien_Y+Hauteur-1,Largeur);
|
||||
|
||||
Ligne_horizontale_XOR(Nouveau_X,Nouveau_Y,Largeur);
|
||||
Ligne_verticale_XOR(Nouveau_X,Nouveau_Y+1,Hauteur-2);
|
||||
Ligne_verticale_XOR(Nouveau_X+Largeur-1,Nouveau_Y+1,Hauteur-2);
|
||||
Ligne_horizontale_XOR(Nouveau_X,Nouveau_Y+Hauteur-1,Largeur);
|
||||
|
||||
Afficher_curseur();
|
||||
UpdateRect(Ancien_X,Ancien_Y,Largeur,Hauteur);
|
||||
UpdateRect(Nouveau_X,Nouveau_Y,Largeur,Hauteur);
|
||||
}
|
||||
UpdateRect(Ancien_X,Ancien_Y,Largeur,Hauteur);
|
||||
UpdateRect(Nouveau_X,Nouveau_Y,Largeur,Hauteur);
|
||||
}
|
||||
|
||||
Effacer_curseur();
|
||||
@ -1853,12 +1942,14 @@ void Deplacer_fenetre(short Dx, short Dy)
|
||||
|
||||
// Restore de ce que la fenêtre cachait
|
||||
Restaure_fond(Fond_fenetre[Fenetre-1], Fenetre_Pos_X, Fenetre_Pos_Y, Fenetre_Largeur, Fenetre_Hauteur);
|
||||
Fond_fenetre[Fenetre-1] = NULL;
|
||||
|
||||
// Sauvegarde de ce que la fenêtre remplace
|
||||
Sauve_fond(&(Fond_fenetre[Fenetre-1]), Nouveau_X, Nouveau_Y, Fenetre_Largeur, Fenetre_Hauteur);
|
||||
|
||||
// Raffichage de la fenêtre
|
||||
Restaure_fond(Buffer, Nouveau_X, Nouveau_Y, Fenetre_Largeur, Fenetre_Hauteur);
|
||||
Buffer = NULL;
|
||||
|
||||
// Mise à jour du rectangle englobant
|
||||
UpdateRect(
|
||||
@ -2100,7 +2191,11 @@ short Fenetre_Bouton_clicke(void)
|
||||
if (Touche)
|
||||
{
|
||||
Bouton=Fenetre_Numero_bouton_touche();
|
||||
if (Bouton) return Bouton;
|
||||
if (Bouton)
|
||||
{
|
||||
Touche=0;
|
||||
return Bouton;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@ -1896,6 +1896,7 @@ void Bouton_Palette(void)
|
||||
UpdateRect(Fenetre_Pos_X+(Menu_Facteur_X*264),Fenetre_Pos_Y+(Menu_Facteur_Y*93),Menu_Facteur_X<<4,Menu_Facteur_Y*64);
|
||||
Afficher_curseur();
|
||||
}
|
||||
Touche=0;
|
||||
break;
|
||||
|
||||
case SDLK_RIGHTBRACKET : // Décaler Forecolor vers la droite
|
||||
@ -1917,6 +1918,7 @@ void Bouton_Palette(void)
|
||||
UpdateRect(Fenetre_Pos_X+(Menu_Facteur_X*264),Fenetre_Pos_Y+(Menu_Facteur_Y*93),Menu_Facteur_X<<4,Menu_Facteur_Y*64);
|
||||
Afficher_curseur();
|
||||
}
|
||||
Touche=0;
|
||||
break;
|
||||
|
||||
case (SDLK_LEFTBRACKET|MOD_SHIFT) : // Decaler Backcolor vers la gauche
|
||||
@ -1932,6 +1934,7 @@ void Bouton_Palette(void)
|
||||
Block(Fenetre_Pos_X+(Menu_Facteur_X*280),Fenetre_Pos_Y+(Menu_Facteur_Y* 93),Menu_Facteur_X<<2,Menu_Facteur_Y<<6,Back_color);
|
||||
UpdateRect(Fenetre_Pos_X+(Menu_Facteur_X*260),Fenetre_Pos_Y+(Menu_Facteur_Y* 89),Menu_Facteur_X*32,Menu_Facteur_Y*72);
|
||||
Afficher_curseur();
|
||||
Touche=0;
|
||||
break;
|
||||
|
||||
case SDLK_BACKSPACE : // Remise des couleurs du menu à l'état normal en essayant
|
||||
@ -1955,6 +1958,7 @@ void Bouton_Palette(void)
|
||||
Palette_Reafficher_jauges(Jauge_rouge,Jauge_verte,Jauge_bleue,Palette_de_travail,Debut_block,Fin_block);
|
||||
Compter_nb_couleurs_utilisees(&Nb_couleurs_utilisees,Utilisation_couleur);
|
||||
Il_faut_remapper=1;
|
||||
Touche=0;
|
||||
break;
|
||||
|
||||
case SDLK_BACKQUOTE : // Récupération d'une couleur derrière le menu
|
||||
@ -1998,10 +2002,12 @@ void Bouton_Palette(void)
|
||||
}
|
||||
Afficher_curseur();
|
||||
}
|
||||
Touche=0;
|
||||
break;
|
||||
default:
|
||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||
{
|
||||
Touche=0;
|
||||
Fenetre_aide(BOUTON_PALETTE, NULL);
|
||||
break;
|
||||
}
|
||||
@ -2091,7 +2097,10 @@ void Bouton_Palette_secondaire(void)
|
||||
{
|
||||
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||
{
|
||||
Touche=0;
|
||||
Fenetre_aide(BOUTON_PALETTE, NULL);
|
||||
}
|
||||
}
|
||||
while (Bouton_clicke<=0);
|
||||
|
||||
|
||||
6
shade.c
6
shade.c
@ -901,6 +901,7 @@ int Menu_Shade(void)
|
||||
Afficher_couleur_selectionnee(Premiere_couleur,Derniere_couleur);
|
||||
Afficher_curseur();
|
||||
}
|
||||
Touche=0;
|
||||
break;
|
||||
|
||||
case SDLK_UP : // Select Haut
|
||||
@ -948,6 +949,7 @@ int Menu_Shade(void)
|
||||
Afficher_couleur_case_selectionnee(Select_Debut,Select_Debut);
|
||||
Afficher_curseur();
|
||||
}
|
||||
Touche=0;
|
||||
break;
|
||||
|
||||
case SDLK_BACKQUOTE : // Récupération d'une couleur derrière le menu
|
||||
@ -970,10 +972,14 @@ int Menu_Shade(void)
|
||||
|
||||
Afficher_curseur();
|
||||
}
|
||||
Touche=0;
|
||||
break;
|
||||
default:
|
||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||
{
|
||||
Touche=0;
|
||||
Fenetre_aide(BOUTON_EFFETS, "SHADE");
|
||||
}
|
||||
}
|
||||
}
|
||||
while ((Bouton_clicke!=4) && (Bouton_clicke!=5));
|
||||
|
||||
@ -699,6 +699,7 @@ byte Demande_de_confirmation(char * Message)
|
||||
if (Touche==SDLK_ESCAPE) Bouton_clicke=2;
|
||||
}
|
||||
while (Bouton_clicke<=0);
|
||||
Touche=0;
|
||||
|
||||
Fermer_fenetre();
|
||||
Afficher_curseur();
|
||||
@ -728,6 +729,7 @@ void Warning_message(char * Message)
|
||||
do
|
||||
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||
while ((Bouton_clicke<=0) && (Touche!=SDLK_ESCAPE) && (Touche!=SDLK_o));
|
||||
Touche=0;
|
||||
|
||||
Fermer_fenetre();
|
||||
Afficher_curseur();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user