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
|
ZIP = zip
|
||||||
else
|
else
|
||||||
|
|
||||||
# Linux specific
|
# Linux and FreeBSD specific (default rules)
|
||||||
DELCOMMAND = rm -rf
|
DELCOMMAND = rm -rf
|
||||||
MKDIR = mkdir -p
|
MKDIR = mkdir -p
|
||||||
RMDIR = rmdir
|
RMDIR = rmdir
|
||||||
@ -183,6 +183,7 @@ else
|
|||||||
COPT = -W -Wall -Wdeclaration-after-statement -pedantic -std=c99 -c -g `sdl-config --cflags` $(TTFCOPT)
|
COPT = -W -Wall -Wdeclaration-after-statement -pedantic -std=c99 -c -g `sdl-config --cflags` $(TTFCOPT)
|
||||||
LOPT = `sdl-config --libs` -lSDL_image $(TTFLOPT)
|
LOPT = `sdl-config --libs` -lSDL_image $(TTFLOPT)
|
||||||
CC = gcc
|
CC = gcc
|
||||||
|
#CC = nccgen -ncgcc -ncld -ncfabs #ncc makes callgraphs
|
||||||
OBJDIR = obj/unix
|
OBJDIR = obj/unix
|
||||||
X11LOPT = -lX11
|
X11LOPT = -lX11
|
||||||
endif
|
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)
|
if (Position_d_aide_en_cours>0)
|
||||||
Position_d_aide_en_cours--;
|
Position_d_aide_en_cours--;
|
||||||
Scroller_aide();
|
Scroller_aide();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_DOWN : // Bas
|
case SDLK_DOWN : // Bas
|
||||||
if (Position_d_aide_en_cours<Nb_lignes-16)
|
if (Position_d_aide_en_cours<Nb_lignes-16)
|
||||||
Position_d_aide_en_cours++;
|
Position_d_aide_en_cours++;
|
||||||
Scroller_aide();
|
Scroller_aide();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_PAGEUP : // PageUp
|
case SDLK_PAGEUP : // PageUp
|
||||||
if (Position_d_aide_en_cours>15)
|
if (Position_d_aide_en_cours>15)
|
||||||
@ -335,6 +337,7 @@ void Fenetre_aide(int Section, const char *Sous_section)
|
|||||||
else
|
else
|
||||||
Position_d_aide_en_cours=0;
|
Position_d_aide_en_cours=0;
|
||||||
Scroller_aide();
|
Scroller_aide();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_PAGEDOWN : // PageDown
|
case SDLK_PAGEDOWN : // PageDown
|
||||||
if (Position_d_aide_en_cours<Nb_lignes-31)
|
if (Position_d_aide_en_cours<Nb_lignes-31)
|
||||||
@ -342,20 +345,24 @@ void Fenetre_aide(int Section, const char *Sous_section)
|
|||||||
else
|
else
|
||||||
Position_d_aide_en_cours=Nb_lignes-16;
|
Position_d_aide_en_cours=Nb_lignes-16;
|
||||||
Scroller_aide();
|
Scroller_aide();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_HOME : // Home
|
case SDLK_HOME : // Home
|
||||||
Position_d_aide_en_cours=0;
|
Position_d_aide_en_cours=0;
|
||||||
Scroller_aide();
|
Scroller_aide();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_END : // End
|
case SDLK_END : // End
|
||||||
Position_d_aide_en_cours=Nb_lignes-16;
|
Position_d_aide_en_cours=Nb_lignes-16;
|
||||||
Scroller_aide();
|
Scroller_aide();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
while ((Bouton_clicke!=1) && (Touche!=SDLK_RETURN));
|
while ((Bouton_clicke!=1) && (Touche!=SDLK_RETURN));
|
||||||
|
|
||||||
|
if(Touche==SDLK_RETURN) Touche=0;
|
||||||
Fermer_fenetre();
|
Fermer_fenetre();
|
||||||
Desenclencher_bouton(BOUTON_AIDE);
|
Desenclencher_bouton(BOUTON_AIDE);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
@ -469,6 +476,8 @@ void Bouton_Stats(void)
|
|||||||
}
|
}
|
||||||
while ( (Bouton_clicke!=1) && (Touche!=SDLK_RETURN) );
|
while ( (Bouton_clicke!=1) && (Touche!=SDLK_RETURN) );
|
||||||
|
|
||||||
|
if(Touche==SDLK_RETURN)Touche=0;
|
||||||
|
|
||||||
Fermer_fenetre();
|
Fermer_fenetre();
|
||||||
Desenclencher_bouton(BOUTON_AIDE);
|
Desenclencher_bouton(BOUTON_AIDE);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
|||||||
35
boutons.c
35
boutons.c
@ -112,6 +112,8 @@ void Message_Non_disponible(void)
|
|||||||
Bouton_clicke=Fenetre_Bouton_clicke();
|
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||||
while ((Bouton_clicke<=0) && (Touche!=SDLK_ESCAPE) && (Touche!=SDLK_o));
|
while ((Bouton_clicke<=0) && (Touche!=SDLK_ESCAPE) && (Touche!=SDLK_o));
|
||||||
|
|
||||||
|
if(Bouton_clicke<=0) Touche=0;
|
||||||
|
|
||||||
Fermer_fenetre();
|
Fermer_fenetre();
|
||||||
|
|
||||||
// Puisque cette fonction peut être appelée par plusieurs boutons et qu'on
|
// 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();
|
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||||
while ((Bouton_clicke<=0) && (Touche!=SDLK_ESCAPE) && (Touche!=SDLK_o));
|
while ((Bouton_clicke<=0) && (Touche!=SDLK_ESCAPE) && (Touche!=SDLK_o));
|
||||||
|
|
||||||
|
if(Bouton_clicke<=0) Touche=0;
|
||||||
Fermer_fenetre();
|
Fermer_fenetre();
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
}
|
}
|
||||||
@ -184,6 +187,7 @@ void Bouton_Message_initial(void)
|
|||||||
}
|
}
|
||||||
while (Bouton_clicke==0 && Touche==0);
|
while (Bouton_clicke==0 && Touche==0);
|
||||||
|
|
||||||
|
if(Bouton_clicke!=0) Touche=0;
|
||||||
Fermer_fenetre();
|
Fermer_fenetre();
|
||||||
Afficher_curseur();
|
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);
|
Stencil_Actualiser_couleur(Couleur_taggee);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
}
|
}
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||||
{
|
{
|
||||||
Fenetre_aide(BOUTON_EFFETS, Section_aide);
|
Fenetre_aide(BOUTON_EFFETS, Section_aide);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1544,6 +1550,7 @@ void Bouton_Resol(void)
|
|||||||
if (Debut_liste>0)
|
if (Debut_liste>0)
|
||||||
Debut_liste--;
|
Debut_liste--;
|
||||||
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_DOWN : // Bas
|
case SDLK_DOWN : // Bas
|
||||||
if (Position_curseur<11 && Position_curseur<(Nb_modes_video-1))
|
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)
|
if (Debut_liste<Nb_modes_video-12)
|
||||||
Debut_liste++;
|
Debut_liste++;
|
||||||
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_PAGEUP : // PageUp
|
case SDLK_PAGEUP : // PageUp
|
||||||
if (Position_curseur>0)
|
if (Position_curseur>0)
|
||||||
@ -1564,6 +1572,7 @@ void Bouton_Resol(void)
|
|||||||
Debut_liste=0;
|
Debut_liste=0;
|
||||||
}
|
}
|
||||||
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_PAGEDOWN : // PageDown
|
case SDLK_PAGEDOWN : // PageDown
|
||||||
if (Nb_modes_video<12)
|
if (Nb_modes_video<12)
|
||||||
@ -1578,11 +1587,13 @@ void Bouton_Resol(void)
|
|||||||
Debut_liste=Nb_modes_video-12;
|
Debut_liste=Nb_modes_video-12;
|
||||||
}
|
}
|
||||||
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_HOME : // Home
|
case SDLK_HOME : // Home
|
||||||
Debut_liste=0;
|
Debut_liste=0;
|
||||||
Position_curseur=0;
|
Position_curseur=0;
|
||||||
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_END : // End
|
case SDLK_END : // End
|
||||||
if (Nb_modes_video<12)
|
if (Nb_modes_video<12)
|
||||||
@ -1593,11 +1604,13 @@ void Bouton_Resol(void)
|
|||||||
Position_curseur=11;
|
Position_curseur=11;
|
||||||
}
|
}
|
||||||
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
Scroller_la_liste_des_modes(Debut_liste,Position_curseur,&Mode_choisi);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||||
{
|
{
|
||||||
Fenetre_aide(BOUTON_RESOL, NULL);
|
Fenetre_aide(BOUTON_RESOL, NULL);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2058,11 +2071,13 @@ void Bouton_Degrades(void)
|
|||||||
|
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
}
|
}
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (Touche==Bouton[BOUTON_GRADMENU].Raccourci_gauche)
|
if (Touche==Bouton[BOUTON_GRADMENU].Raccourci_gauche)
|
||||||
{
|
{
|
||||||
Fenetre_aide(BOUTON_PINCEAUX, NULL);
|
Fenetre_aide(BOUTON_PINCEAUX, NULL);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2865,36 +2880,42 @@ byte Bouton_Load_ou_Save(byte Load, byte Image)
|
|||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Select_Scroll_Down(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
Select_Scroll_Down(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
||||||
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_UP : // Haut
|
case SDLK_UP : // Haut
|
||||||
*Fichier_recherche=0;
|
*Fichier_recherche=0;
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Select_Scroll_Up(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
Select_Scroll_Up(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
||||||
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_PAGEDOWN : // Page Down
|
case SDLK_PAGEDOWN : // Page Down
|
||||||
*Fichier_recherche=0;
|
*Fichier_recherche=0;
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Select_Page_Down(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
Select_Page_Down(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
||||||
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_PAGEUP : // Page Up
|
case SDLK_PAGEUP : // Page Up
|
||||||
*Fichier_recherche=0;
|
*Fichier_recherche=0;
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Select_Page_Up(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
Select_Page_Up(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
||||||
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_END : // End
|
case SDLK_END : // End
|
||||||
*Fichier_recherche=0;
|
*Fichier_recherche=0;
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Select_End(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
Select_End(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
||||||
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_HOME : // Home
|
case SDLK_HOME : // Home
|
||||||
*Fichier_recherche=0;
|
*Fichier_recherche=0;
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Select_Home(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
Select_Home(&Principal_File_list_Position,&Principal_File_list_Decalage);
|
||||||
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SDLK_BACKSPACE : // Backspace
|
case SDLK_BACKSPACE : // Backspace
|
||||||
*Fichier_recherche=0;
|
*Fichier_recherche=0;
|
||||||
@ -2906,6 +2927,7 @@ byte Bouton_Load_ou_Save(byte Load, byte Image)
|
|||||||
Type_selectionne=1;
|
Type_selectionne=1;
|
||||||
On_a_clicke_sur_OK=1;
|
On_a_clicke_sur_OK=1;
|
||||||
}
|
}
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
default: // Autre => On se place sur le nom de fichier qui correspond
|
default: // Autre => On se place sur le nom de fichier qui correspond
|
||||||
if (Bouton_clicke<=0)
|
if (Bouton_clicke<=0)
|
||||||
@ -2933,6 +2955,7 @@ byte Bouton_Load_ou_Save(byte Load, byte Image)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
*Fichier_recherche=0;
|
*Fichier_recherche=0;
|
||||||
|
Touche=0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -4185,7 +4208,10 @@ void Bouton_Brush_FX(void)
|
|||||||
{
|
{
|
||||||
Bouton_clicke=Fenetre_Bouton_clicke();
|
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||||
|
{
|
||||||
|
Touche=0;
|
||||||
Fenetre_aide(BOUTON_EFFETS_BROSSE, NULL);
|
Fenetre_aide(BOUTON_EFFETS_BROSSE, NULL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
while (Bouton_clicke<=0);
|
while (Bouton_clicke<=0);
|
||||||
|
|
||||||
@ -5008,11 +5034,13 @@ void Bouton_Spray_Menu(void)
|
|||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
Stencil_Actualiser_couleur(Couleur_selectionnee);
|
Stencil_Actualiser_couleur(Couleur_selectionnee);
|
||||||
}
|
}
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||||
{
|
{
|
||||||
Fenetre_aide(BOUTON_SPRAY, NULL);
|
Fenetre_aide(BOUTON_SPRAY, NULL);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5472,7 +5500,10 @@ void Bouton_Trame_Menu(void)
|
|||||||
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
Mettre_a_jour_trame(Orig_X, Orig_Y);
|
||||||
}
|
}
|
||||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||||
|
{
|
||||||
|
Touche=0;
|
||||||
Fenetre_aide(BOUTON_EFFETS, "SIEVE");
|
Fenetre_aide(BOUTON_EFFETS, "SIEVE");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
while ( (Bouton_clicke!=2) && (Bouton_clicke!=3) );
|
while ( (Bouton_clicke!=2) && (Bouton_clicke!=3) );
|
||||||
|
|
||||||
@ -5628,9 +5659,13 @@ void Bouton_Effets(void)
|
|||||||
Bouton_clicke=Fenetre_Bouton_clicke();
|
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||||
|
|
||||||
if (Touche==SDLK_ESCAPE)
|
if (Touche==SDLK_ESCAPE)
|
||||||
|
{
|
||||||
Bouton_clicke=11;
|
Bouton_clicke=11;
|
||||||
|
Touche=0;
|
||||||
|
}
|
||||||
else if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
else if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||||
{
|
{
|
||||||
|
Touche=0;
|
||||||
// Aide contextuelle
|
// Aide contextuelle
|
||||||
switch(Fenetre_Numero_bouton_clicke())
|
switch(Fenetre_Numero_bouton_clicke())
|
||||||
{
|
{
|
||||||
|
|||||||
32
const.h
32
const.h
@ -294,22 +294,22 @@ enum NUMEROS_DE_BOUTONS
|
|||||||
|
|
||||||
enum ACTIONS_SPECIALES
|
enum ACTIONS_SPECIALES
|
||||||
{
|
{
|
||||||
SPECIAL_MOUSE_UP, // |
|
SPECIAL_MOUSE_UP,
|
||||||
SPECIAL_MOUSE_DOWN, // |
|
SPECIAL_MOUSE_DOWN,
|
||||||
SPECIAL_MOUSE_LEFT, // |
|
SPECIAL_MOUSE_LEFT,
|
||||||
SPECIAL_MOUSE_RIGHT, // |
|
SPECIAL_MOUSE_RIGHT,
|
||||||
SPECIAL_CLICK_LEFT, // | Il faut garder
|
SPECIAL_CLICK_LEFT,
|
||||||
SPECIAL_CLICK_RIGHT, // | ces constantes
|
SPECIAL_CLICK_RIGHT,
|
||||||
SPECIAL_NEXT_FORECOLOR, // | au début de la
|
SPECIAL_NEXT_FORECOLOR,
|
||||||
SPECIAL_PREVIOUS_FORECOLOR, // |_ liste car elles
|
SPECIAL_PREVIOUS_FORECOLOR,
|
||||||
SPECIAL_NEXT_BACKCOLOR, // | sont réutilisées
|
SPECIAL_NEXT_BACKCOLOR,
|
||||||
SPECIAL_PREVIOUS_BACKCOLOR, // | avec leurs valeurs
|
SPECIAL_PREVIOUS_BACKCOLOR,
|
||||||
SPECIAL_RETRECIR_PINCEAU, // | brutes en ASM dans
|
SPECIAL_RETRECIR_PINCEAU,
|
||||||
SPECIAL_GROSSIR_PINCEAU, // | Get_input !!!
|
SPECIAL_GROSSIR_PINCEAU,
|
||||||
SPECIAL_NEXT_USER_FORECOLOR, // |
|
SPECIAL_NEXT_USER_FORECOLOR,
|
||||||
SPECIAL_PREVIOUS_USER_FORECOLOR, // |
|
SPECIAL_PREVIOUS_USER_FORECOLOR,
|
||||||
SPECIAL_NEXT_USER_BACKCOLOR, // |
|
SPECIAL_NEXT_USER_BACKCOLOR,
|
||||||
SPECIAL_PREVIOUS_USER_BACKCOLOR, // |
|
SPECIAL_PREVIOUS_USER_BACKCOLOR,
|
||||||
SPECIAL_SCROLL_UP,
|
SPECIAL_SCROLL_UP,
|
||||||
SPECIAL_SCROLL_DOWN,
|
SPECIAL_SCROLL_DOWN,
|
||||||
SPECIAL_SCROLL_LEFT,
|
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_X = event->motion.x/Pixel_width;
|
||||||
INPUT_Nouveau_Mouse_Y = event->motion.y/Pixel_height;
|
INPUT_Nouveau_Mouse_Y = event->motion.y/Pixel_height;
|
||||||
|
|
||||||
if(Move_cursor_with_constraints()) return 0;
|
return Move_cursor_with_constraints();
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Handle_Mouse_Click(SDL_Event* event)
|
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 = Conversion_Touche(event->key.keysym);
|
||||||
Touche_ANSI = Conversion_ANSI(event->key.keysym);
|
Touche_ANSI = Conversion_ANSI(event->key.keysym);
|
||||||
|
|
||||||
// Instead of all this mess, send back a mouse event !
|
if(Touche == Config_Touche[SPECIAL_MOUSE_UP])
|
||||||
if(Touche == Config_Touche[0])
|
|
||||||
{
|
{
|
||||||
//[Touche] = Emulation de MOUSE UP
|
|
||||||
//si on est déjà en haut on peut plus bouger
|
//si on est déjà en haut on peut plus bouger
|
||||||
if(INPUT_Nouveau_Mouse_Y!=0)
|
if(INPUT_Nouveau_Mouse_Y!=0)
|
||||||
{
|
{
|
||||||
@ -205,9 +201,8 @@ int Handle_Key_Press(SDL_Event* event)
|
|||||||
return 1;
|
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(INPUT_Nouveau_Mouse_Y<Hauteur_ecran-1)
|
||||||
{
|
{
|
||||||
if(Loupe_Mode && INPUT_Nouveau_Mouse_Y < Menu_Ordonnee && INPUT_Nouveau_Mouse_X > Principal_Split)
|
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;
|
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(INPUT_Nouveau_Mouse_X!=0)
|
||||||
{
|
{
|
||||||
if(Loupe_Mode && INPUT_Nouveau_Mouse_Y < Menu_Ordonnee && INPUT_Nouveau_Mouse_X > Principal_Split)
|
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;
|
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(INPUT_Nouveau_Mouse_X<Largeur_ecran-1)
|
||||||
{
|
{
|
||||||
if(Loupe_Mode && INPUT_Nouveau_Mouse_Y < Menu_Ordonnee && INPUT_Nouveau_Mouse_X > Principal_Split)
|
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;
|
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;
|
INPUT_Nouveau_Mouse_K=1;
|
||||||
Move_cursor_with_constraints();
|
Move_cursor_with_constraints();
|
||||||
return 1;
|
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;
|
INPUT_Nouveau_Mouse_K=2;
|
||||||
Move_cursor_with_constraints();
|
Move_cursor_with_constraints();
|
||||||
return 1;
|
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
|
//A ce stade là, on sait qu'on est dans une des 3 opérations
|
||||||
//ou de taille de pinceau lors d'une des operations suivantes:
|
//supportant le changement de couleur ou de taille de pinceau.
|
||||||
//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.
|
|
||||||
|
|
||||||
if(
|
if(
|
||||||
(Touche != Config_Touche[6]) &&
|
(Touche != Config_Touche[SPECIAL_NEXT_FORECOLOR]) &&
|
||||||
(Touche != Config_Touche[7]) &&
|
(Touche != Config_Touche[SPECIAL_PREVIOUS_FORECOLOR]) &&
|
||||||
(Touche != Config_Touche[8]) &&
|
(Touche != Config_Touche[SPECIAL_NEXT_BACKCOLOR]) &&
|
||||||
(Touche != Config_Touche[9]) &&
|
(Touche != Config_Touche[SPECIAL_PREVIOUS_BACKCOLOR]) &&
|
||||||
(Touche != Config_Touche[10]) &&
|
(Touche != Config_Touche[SPECIAL_RETRECIR_PINCEAU]) &&
|
||||||
(Touche != Config_Touche[11]) &&
|
(Touche != Config_Touche[SPECIAL_GROSSIR_PINCEAU]) &&
|
||||||
(Touche != Config_Touche[12]) &&
|
(Touche != Config_Touche[SPECIAL_NEXT_USER_FORECOLOR]) &&
|
||||||
(Touche != Config_Touche[13]) &&
|
(Touche != Config_Touche[SPECIAL_PREVIOUS_USER_FORECOLOR]) &&
|
||||||
(Touche != Config_Touche[14]) &&
|
(Touche != Config_Touche[SPECIAL_NEXT_USER_BACKCOLOR]) &&
|
||||||
(Touche != Config_Touche[15])
|
(Touche != Config_Touche[SPECIAL_PREVIOUS_USER_BACKCOLOR])
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
Touche=0;
|
Touche=0;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else Touche = 0;
|
|
||||||
}
|
}
|
||||||
|
else Touche = 0;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -306,21 +293,20 @@ void Handle_Key_Release(SDL_Event* event)
|
|||||||
{
|
{
|
||||||
int ToucheR = Conversion_Touche(event->key.keysym);
|
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[SPECIAL_CLICK_LEFT])
|
||||||
if(ToucheR == Config_Touche[4])
|
|
||||||
{
|
{
|
||||||
INPUT_Nouveau_Mouse_K=0;
|
INPUT_Nouveau_Mouse_K &= ~1;
|
||||||
Move_cursor_with_constraints();
|
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 &= ~2;
|
||||||
INPUT_Nouveau_Mouse_K=0;
|
|
||||||
Move_cursor_with_constraints();
|
Move_cursor_with_constraints();
|
||||||
}
|
}
|
||||||
|
|
||||||
Touche = 0;
|
// Other keys don't need to be released : they are handled as "events" and procesed only once.
|
||||||
Touche_ANSI=0;
|
// 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;
|
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
|
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.
|
// Process as much events as possible without redrawing the screen.
|
||||||
// This mostly allows us to merge mouse events for people with an high
|
// This mostly allows us to merge mouse events for people with an high
|
||||||
// resolution mouse
|
// resolution mouse
|
||||||
while( !User_Feedback_Required && SDL_PollEvent(&event))
|
while( (!User_Feedback_Required) && SDL_PollEvent(&event))
|
||||||
{
|
{
|
||||||
switch(event.type)
|
switch(event.type)
|
||||||
{
|
{
|
||||||
@ -361,7 +349,7 @@ int Get_input(void)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_MOUSEMOTION:
|
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;
|
break;
|
||||||
|
|
||||||
case SDL_MOUSEBUTTONDOWN:
|
case SDL_MOUSEBUTTONDOWN:
|
||||||
@ -393,7 +381,7 @@ int Get_input(void)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
DEBUG("Unhandled SDL event !",0);
|
DEBUG("Unhandled SDL event number : ",event.type);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
5
main.c
5
main.c
@ -372,7 +372,10 @@ void Initialisation_du_programme(int argc,char * argv[])
|
|||||||
joystick = SDL_JoystickOpen(0);
|
joystick = SDL_JoystickOpen(0);
|
||||||
SDL_EnableKeyRepeat(250, 32);
|
SDL_EnableKeyRepeat(250, 32);
|
||||||
SDL_EnableUNICODE(SDL_ENABLE);
|
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.
|
// Routine pour définir l'icone.
|
||||||
char Chemin_icone[TAILLE_CHEMIN_FICHIER];
|
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));
|
Scroller_loupe(0,-(Loupe_Hauteur>>2));
|
||||||
else
|
else
|
||||||
Scroller_ecran(0,-(Hauteur_ecran>>3));
|
Scroller_ecran(0,-(Hauteur_ecran>>3));
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SCROLL_DOWN : // Scroll down
|
case SPECIAL_SCROLL_DOWN : // Scroll down
|
||||||
if (Loupe_Mode)
|
if (Loupe_Mode)
|
||||||
Scroller_loupe(0,(Loupe_Hauteur>>2));
|
Scroller_loupe(0,(Loupe_Hauteur>>2));
|
||||||
else
|
else
|
||||||
Scroller_ecran(0,(Hauteur_ecran>>3));
|
Scroller_ecran(0,(Hauteur_ecran>>3));
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SCROLL_LEFT : // Scroll left
|
case SPECIAL_SCROLL_LEFT : // Scroll left
|
||||||
if (Loupe_Mode)
|
if (Loupe_Mode)
|
||||||
Scroller_loupe(-(Loupe_Largeur>>2),0);
|
Scroller_loupe(-(Loupe_Largeur>>2),0);
|
||||||
else
|
else
|
||||||
Scroller_ecran(-(Largeur_ecran>>3),0);
|
Scroller_ecran(-(Largeur_ecran>>3),0);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SCROLL_RIGHT : // Scroll right
|
case SPECIAL_SCROLL_RIGHT : // Scroll right
|
||||||
if (Loupe_Mode)
|
if (Loupe_Mode)
|
||||||
Scroller_loupe((Loupe_Largeur>>2),0);
|
Scroller_loupe((Loupe_Largeur>>2),0);
|
||||||
else
|
else
|
||||||
Scroller_ecran((Largeur_ecran>>3),0);
|
Scroller_ecran((Largeur_ecran>>3),0);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SCROLL_UP_FAST : // Scroll up faster
|
case SPECIAL_SCROLL_UP_FAST : // Scroll up faster
|
||||||
if (Loupe_Mode)
|
if (Loupe_Mode)
|
||||||
Scroller_loupe(0,-(Loupe_Hauteur>>1));
|
Scroller_loupe(0,-(Loupe_Hauteur>>1));
|
||||||
else
|
else
|
||||||
Scroller_ecran(0,-(Hauteur_ecran>>2));
|
Scroller_ecran(0,-(Hauteur_ecran>>2));
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SCROLL_DOWN_FAST : // Scroll down faster
|
case SPECIAL_SCROLL_DOWN_FAST : // Scroll down faster
|
||||||
if (Loupe_Mode)
|
if (Loupe_Mode)
|
||||||
Scroller_loupe(0,(Loupe_Hauteur>>1));
|
Scroller_loupe(0,(Loupe_Hauteur>>1));
|
||||||
else
|
else
|
||||||
Scroller_ecran(0,(Hauteur_ecran>>2));
|
Scroller_ecran(0,(Hauteur_ecran>>2));
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SCROLL_LEFT_FAST : // Scroll left faster
|
case SPECIAL_SCROLL_LEFT_FAST : // Scroll left faster
|
||||||
if (Loupe_Mode)
|
if (Loupe_Mode)
|
||||||
Scroller_loupe(-(Loupe_Largeur>>1),0);
|
Scroller_loupe(-(Loupe_Largeur>>1),0);
|
||||||
else
|
else
|
||||||
Scroller_ecran(-(Largeur_ecran>>2),0);
|
Scroller_ecran(-(Largeur_ecran>>2),0);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SCROLL_RIGHT_FAST : // Scroll right faster
|
case SPECIAL_SCROLL_RIGHT_FAST : // Scroll right faster
|
||||||
if (Loupe_Mode)
|
if (Loupe_Mode)
|
||||||
Scroller_loupe((Loupe_Largeur>>1),0);
|
Scroller_loupe((Loupe_Largeur>>1),0);
|
||||||
else
|
else
|
||||||
Scroller_ecran((Largeur_ecran>>2),0);
|
Scroller_ecran((Largeur_ecran>>2),0);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SCROLL_UP_SLOW : // Scroll up slower
|
case SPECIAL_SCROLL_UP_SLOW : // Scroll up slower
|
||||||
if (Loupe_Mode)
|
if (Loupe_Mode)
|
||||||
Scroller_loupe(0,-1);
|
Scroller_loupe(0,-1);
|
||||||
else
|
else
|
||||||
Scroller_ecran(0,-1);
|
Scroller_ecran(0,-1);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SCROLL_DOWN_SLOW : // Scroll down slower
|
case SPECIAL_SCROLL_DOWN_SLOW : // Scroll down slower
|
||||||
if (Loupe_Mode)
|
if (Loupe_Mode)
|
||||||
Scroller_loupe(0,1);
|
Scroller_loupe(0,1);
|
||||||
else
|
else
|
||||||
Scroller_ecran(0,1);
|
Scroller_ecran(0,1);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SCROLL_LEFT_SLOW : // Scroll left slower
|
case SPECIAL_SCROLL_LEFT_SLOW : // Scroll left slower
|
||||||
if (Loupe_Mode)
|
if (Loupe_Mode)
|
||||||
Scroller_loupe(-1,0);
|
Scroller_loupe(-1,0);
|
||||||
else
|
else
|
||||||
Scroller_ecran(-1,0);
|
Scroller_ecran(-1,0);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SCROLL_RIGHT_SLOW : // Scroll right slower
|
case SPECIAL_SCROLL_RIGHT_SLOW : // Scroll right slower
|
||||||
if (Loupe_Mode)
|
if (Loupe_Mode)
|
||||||
Scroller_loupe(1,0);
|
Scroller_loupe(1,0);
|
||||||
else
|
else
|
||||||
Scroller_ecran(1,0);
|
Scroller_ecran(1,0);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_NEXT_FORECOLOR : // Next foreground color
|
case SPECIAL_NEXT_FORECOLOR : // Next foreground color
|
||||||
Special_Next_forecolor();
|
Special_Next_forecolor();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_PREVIOUS_FORECOLOR : // Previous foreground color
|
case SPECIAL_PREVIOUS_FORECOLOR : // Previous foreground color
|
||||||
Special_Previous_forecolor();
|
Special_Previous_forecolor();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_NEXT_BACKCOLOR : // Next background color
|
case SPECIAL_NEXT_BACKCOLOR : // Next background color
|
||||||
Special_Next_backcolor();
|
Special_Next_backcolor();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_PREVIOUS_BACKCOLOR : // Previous background color
|
case SPECIAL_PREVIOUS_BACKCOLOR : // Previous background color
|
||||||
Special_Previous_backcolor();
|
Special_Previous_backcolor();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_RETRECIR_PINCEAU: // Rétrécir le pinceau
|
case SPECIAL_RETRECIR_PINCEAU: // Rétrécir le pinceau
|
||||||
Retrecir_pinceau();
|
Retrecir_pinceau();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_GROSSIR_PINCEAU: // Grossir le pinceau
|
case SPECIAL_GROSSIR_PINCEAU: // Grossir le pinceau
|
||||||
Grossir_pinceau();
|
Grossir_pinceau();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_NEXT_USER_FORECOLOR : // Next user-defined foreground color
|
case SPECIAL_NEXT_USER_FORECOLOR : // Next user-defined foreground color
|
||||||
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
||||||
//Special_Next_user_forecolor();
|
//Special_Next_user_forecolor();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_PREVIOUS_USER_FORECOLOR : // Previous user-defined foreground color
|
case SPECIAL_PREVIOUS_USER_FORECOLOR : // Previous user-defined foreground color
|
||||||
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
||||||
//Special_Previous_user_forecolor();
|
//Special_Previous_user_forecolor();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_NEXT_USER_BACKCOLOR : // Next user-defined background color
|
case SPECIAL_NEXT_USER_BACKCOLOR : // Next user-defined background color
|
||||||
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
||||||
//Special_Next_user_backcolor();
|
//Special_Next_user_backcolor();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_PREVIOUS_USER_BACKCOLOR : // Previous user-defined background color
|
case SPECIAL_PREVIOUS_USER_BACKCOLOR : // Previous user-defined background color
|
||||||
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
||||||
//Special_Previous_user_backcolor();
|
//Special_Previous_user_backcolor();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SHOW_HIDE_CURSOR : // Show / Hide cursor
|
case SPECIAL_SHOW_HIDE_CURSOR : // Show / Hide cursor
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Cacher_curseur=!Cacher_curseur;
|
Cacher_curseur=!Cacher_curseur;
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_PINCEAU_POINT : // Paintbrush = "."
|
case SPECIAL_PINCEAU_POINT : // Paintbrush = "."
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
@ -639,26 +662,32 @@ void Gestion_principale(void)
|
|||||||
Modifier_pinceau(1,1);
|
Modifier_pinceau(1,1);
|
||||||
Changer_la_forme_du_pinceau(FORME_PINCEAU_ROND);
|
Changer_la_forme_du_pinceau(FORME_PINCEAU_ROND);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_DESSIN_CONTINU : // Continuous freehand drawing
|
case SPECIAL_DESSIN_CONTINU : // Continuous freehand drawing
|
||||||
Enclencher_bouton(BOUTON_DESSIN,A_GAUCHE);
|
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)
|
while (Operation_en_cours!=OPERATION_DESSIN_CONTINU)
|
||||||
Enclencher_bouton(BOUTON_DESSIN,A_DROITE);
|
Enclencher_bouton(BOUTON_DESSIN,A_DROITE);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_FLIP_X : // Flip X
|
case SPECIAL_FLIP_X : // Flip X
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Flip_X_LOWLEVEL();
|
Flip_X_LOWLEVEL();
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_FLIP_Y : // Flip Y
|
case SPECIAL_FLIP_Y : // Flip Y
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Flip_Y_LOWLEVEL();
|
Flip_Y_LOWLEVEL();
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_ROTATE_90 : // 90° brush rotation
|
case SPECIAL_ROTATE_90 : // 90° brush rotation
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Rotate_90_deg();
|
Rotate_90_deg();
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_ROTATE_180 : // 180° brush rotation
|
case SPECIAL_ROTATE_180 : // 180° brush rotation
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
@ -673,142 +702,180 @@ void Gestion_principale(void)
|
|||||||
Brosse_Decalage_X=(Brosse_Largeur>>1);
|
Brosse_Decalage_X=(Brosse_Largeur>>1);
|
||||||
Brosse_Decalage_Y=(Brosse_Hauteur>>1);
|
Brosse_Decalage_Y=(Brosse_Hauteur>>1);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_STRETCH : // Stretch brush
|
case SPECIAL_STRETCH : // Stretch brush
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Demarrer_pile_operation(OPERATION_ETIRER_BROSSE);
|
Demarrer_pile_operation(OPERATION_ETIRER_BROSSE);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_DISTORT : // Distort brush
|
case SPECIAL_DISTORT : // Distort brush
|
||||||
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
Message_Non_disponible(); // !!! TEMPORAIRE !!!
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_ROTATE_ANY_ANGLE : // Rotate brush by any angle
|
case SPECIAL_ROTATE_ANY_ANGLE : // Rotate brush by any angle
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Demarrer_pile_operation(OPERATION_TOURNER_BROSSE);
|
Demarrer_pile_operation(OPERATION_TOURNER_BROSSE);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_OUTLINE : // Outline brush
|
case SPECIAL_OUTLINE : // Outline brush
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Outline_brush();
|
Outline_brush();
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_NIBBLE : // Nibble brush
|
case SPECIAL_NIBBLE : // Nibble brush
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Nibble_brush();
|
Nibble_brush();
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_GET_BRUSH_COLORS : // Get colors from brush
|
case SPECIAL_GET_BRUSH_COLORS : // Get colors from brush
|
||||||
Get_colors_from_brush();
|
Get_colors_from_brush();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_RECOLORIZE_BRUSH : // Recolorize brush
|
case SPECIAL_RECOLORIZE_BRUSH : // Recolorize brush
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Remap_brosse();
|
Remap_brosse();
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_LOAD_BRUSH :
|
case SPECIAL_LOAD_BRUSH :
|
||||||
Load_picture(0);
|
Load_picture(0);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SAVE_BRUSH :
|
case SPECIAL_SAVE_BRUSH :
|
||||||
Save_picture(0);
|
Save_picture(0);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_ZOOM_IN : // Zoom in
|
case SPECIAL_ZOOM_IN : // Zoom in
|
||||||
Zoom(+1);
|
Zoom(+1);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_ZOOM_OUT : // Zoom out
|
case SPECIAL_ZOOM_OUT : // Zoom out
|
||||||
Zoom(-1);
|
Zoom(-1);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_CENTER_ATTACHMENT : // Center brush attachment
|
case SPECIAL_CENTER_ATTACHMENT : // Center brush attachment
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Brosse_Decalage_X=(Brosse_Largeur>>1);
|
Brosse_Decalage_X=(Brosse_Largeur>>1);
|
||||||
Brosse_Decalage_Y=(Brosse_Hauteur>>1);
|
Brosse_Decalage_Y=(Brosse_Hauteur>>1);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_TOP_LEFT_ATTACHMENT : // Top-left brush attachment
|
case SPECIAL_TOP_LEFT_ATTACHMENT : // Top-left brush attachment
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Brosse_Decalage_X=0;
|
Brosse_Decalage_X=0;
|
||||||
Brosse_Decalage_Y=0;
|
Brosse_Decalage_Y=0;
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_TOP_RIGHT_ATTACHMENT : // Top-right brush attachment
|
case SPECIAL_TOP_RIGHT_ATTACHMENT : // Top-right brush attachment
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Brosse_Decalage_X=(Brosse_Largeur-1);
|
Brosse_Decalage_X=(Brosse_Largeur-1);
|
||||||
Brosse_Decalage_Y=0;
|
Brosse_Decalage_Y=0;
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_BOTTOM_LEFT_ATTACHMENT : // Bottom-left brush attachment
|
case SPECIAL_BOTTOM_LEFT_ATTACHMENT : // Bottom-left brush attachment
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Brosse_Decalage_X=0;
|
Brosse_Decalage_X=0;
|
||||||
Brosse_Decalage_Y=(Brosse_Hauteur-1);
|
Brosse_Decalage_Y=(Brosse_Hauteur-1);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_BOTTOM_RIGHT_ATTACHMENT : // Bottom right brush attachment
|
case SPECIAL_BOTTOM_RIGHT_ATTACHMENT : // Bottom right brush attachment
|
||||||
Effacer_curseur();
|
Effacer_curseur();
|
||||||
Brosse_Decalage_X=(Brosse_Largeur-1);
|
Brosse_Decalage_X=(Brosse_Largeur-1);
|
||||||
Brosse_Decalage_Y=(Brosse_Hauteur-1);
|
Brosse_Decalage_Y=(Brosse_Hauteur-1);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_EXCLUDE_COLORS_MENU : // Exclude colors menu
|
case SPECIAL_EXCLUDE_COLORS_MENU : // Exclude colors menu
|
||||||
Menu_Tag_couleurs("Tag colors to exclude",Exclude_color,&Temp,1, NULL);
|
Menu_Tag_couleurs("Tag colors to exclude",Exclude_color,&Temp,1, NULL);
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_INVERT_SIEVE :
|
case SPECIAL_INVERT_SIEVE :
|
||||||
Inverser_trame();
|
Inverser_trame();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SHADE_MODE :
|
case SPECIAL_SHADE_MODE :
|
||||||
Bouton_Shade_Mode();
|
Bouton_Shade_Mode();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SHADE_MENU :
|
case SPECIAL_SHADE_MENU :
|
||||||
Bouton_Shade_Menu();
|
Bouton_Shade_Menu();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_QUICK_SHADE_MODE :
|
case SPECIAL_QUICK_SHADE_MODE :
|
||||||
Bouton_Quick_shade_Mode();
|
Bouton_Quick_shade_Mode();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_QUICK_SHADE_MENU :
|
case SPECIAL_QUICK_SHADE_MENU :
|
||||||
Bouton_Quick_shade_Menu();
|
Bouton_Quick_shade_Menu();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_STENCIL_MODE :
|
case SPECIAL_STENCIL_MODE :
|
||||||
Bouton_Stencil_Mode();
|
Bouton_Stencil_Mode();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_STENCIL_MENU :
|
case SPECIAL_STENCIL_MENU :
|
||||||
Bouton_Menu_Stencil();
|
Bouton_Menu_Stencil();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_MASK_MODE :
|
case SPECIAL_MASK_MODE :
|
||||||
Bouton_Mask_Mode();
|
Bouton_Mask_Mode();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_MASK_MENU :
|
case SPECIAL_MASK_MENU :
|
||||||
Bouton_Mask_Menu();
|
Bouton_Mask_Menu();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_GRID_MODE :
|
case SPECIAL_GRID_MODE :
|
||||||
Bouton_Snap_Mode();
|
Bouton_Snap_Mode();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_GRID_MENU :
|
case SPECIAL_GRID_MENU :
|
||||||
Bouton_Menu_Grille();
|
Bouton_Menu_Grille();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SIEVE_MODE :
|
case SPECIAL_SIEVE_MODE :
|
||||||
Bouton_Trame_Mode();
|
Bouton_Trame_Mode();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SIEVE_MENU :
|
case SPECIAL_SIEVE_MENU :
|
||||||
Bouton_Trame_Menu();
|
Bouton_Trame_Menu();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_COLORIZE_MODE :
|
case SPECIAL_COLORIZE_MODE :
|
||||||
Bouton_Colorize_Mode();
|
Bouton_Colorize_Mode();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_COLORIZE_MENU :
|
case SPECIAL_COLORIZE_MENU :
|
||||||
Bouton_Colorize_Menu();
|
Bouton_Colorize_Menu();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SMOOTH_MODE :
|
case SPECIAL_SMOOTH_MODE :
|
||||||
Bouton_Smooth_Mode();
|
Bouton_Smooth_Mode();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SMOOTH_MENU :
|
case SPECIAL_SMOOTH_MENU :
|
||||||
Bouton_Smooth_Menu();
|
Bouton_Smooth_Menu();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_SMEAR_MODE :
|
case SPECIAL_SMEAR_MODE :
|
||||||
Bouton_Smear_Mode();
|
Bouton_Smear_Mode();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_TILING_MODE :
|
case SPECIAL_TILING_MODE :
|
||||||
Bouton_Tiling_Mode();
|
Bouton_Tiling_Mode();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
case SPECIAL_TILING_MENU :
|
case SPECIAL_TILING_MENU :
|
||||||
Bouton_Tiling_Menu();
|
Bouton_Tiling_Menu();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
default : // Gestion des touches de raccourci de bouton:
|
default : // Gestion des touches de raccourci de bouton:
|
||||||
// Pour chaque bouton
|
// Pour chaque bouton
|
||||||
@ -834,6 +901,7 @@ void Gestion_principale(void)
|
|||||||
{
|
{
|
||||||
Enclencher_bouton(Bouton_Touche,Bouton_Cote);
|
Enclencher_bouton(Bouton_Touche,Bouton_Cote);
|
||||||
Indice_bouton_precedent=-1;
|
Indice_bouton_precedent=-1;
|
||||||
|
Touche=0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1105,6 +1173,7 @@ void Fermer_fenetre(void)
|
|||||||
{
|
{
|
||||||
// Restore de ce que la fenêtre cachait
|
// Restore de ce que la fenêtre cachait
|
||||||
Restaure_fond(Fond_fenetre[Fenetre-1], Fenetre_Pos_X, Fenetre_Pos_Y, Fenetre_Largeur, Fenetre_Hauteur);
|
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);
|
UpdateRect(Fenetre_Pos_X,Fenetre_Pos_Y,Fenetre_Largeur*Menu_Facteur_X,Fenetre_Hauteur*Menu_Facteur_Y);
|
||||||
Fenetre--;
|
Fenetre--;
|
||||||
}
|
}
|
||||||
@ -1540,6 +1609,7 @@ void Fermer_popup(void)
|
|||||||
{
|
{
|
||||||
// Restore de ce que la fenêtre cachait
|
// Restore de ce que la fenêtre cachait
|
||||||
Restaure_fond(Fond_fenetre[Fenetre-1], Fenetre_Pos_X, Fenetre_Pos_Y, Fenetre_Largeur, Fenetre_Hauteur);
|
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);
|
UpdateRect(Fenetre_Pos_X,Fenetre_Pos_Y,Fenetre_Largeur*Menu_Facteur_X,Fenetre_Hauteur*Menu_Facteur_Y);
|
||||||
Fenetre--;
|
Fenetre--;
|
||||||
}
|
}
|
||||||
@ -1798,36 +1868,55 @@ void Deplacer_fenetre(short Dx, short Dy)
|
|||||||
Ancien_X=Nouveau_X;
|
Ancien_X=Nouveau_X;
|
||||||
Ancien_Y=Nouveau_Y;
|
Ancien_Y=Nouveau_Y;
|
||||||
|
|
||||||
while(!Get_input())Wait_VBL();
|
while(!Get_input())
|
||||||
|
{
|
||||||
|
Wait_VBL();
|
||||||
|
}
|
||||||
|
|
||||||
Nouveau_X=Mouse_X-Dx;
|
Nouveau_X=Mouse_X-Dx;
|
||||||
|
|
||||||
if (Nouveau_X<0)
|
if (Nouveau_X<0)
|
||||||
|
{
|
||||||
Nouveau_X=0;
|
Nouveau_X=0;
|
||||||
|
Dx = Mouse_X;
|
||||||
|
}
|
||||||
if (Nouveau_X>Largeur_ecran-Largeur)
|
if (Nouveau_X>Largeur_ecran-Largeur)
|
||||||
|
{
|
||||||
Nouveau_X=Largeur_ecran-Largeur;
|
Nouveau_X=Largeur_ecran-Largeur;
|
||||||
|
Dx = Mouse_X - Nouveau_X;
|
||||||
|
}
|
||||||
|
|
||||||
Nouveau_Y=Mouse_Y-Dy;
|
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)
|
if (Nouveau_Y<0)
|
||||||
|| (Nouveau_Y!=Ancien_Y))
|
{
|
||||||
|
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();
|
Effacer_curseur();
|
||||||
|
|
||||||
Ligne_horizontale_XOR(Ancien_X,Ancien_Y,Largeur);
|
Ligne_horizontale_XOR(Ancien_X,Ancien_Y,Largeur);
|
||||||
Ligne_verticale_XOR(Ancien_X,Ancien_Y+1,Hauteur-2);
|
Ligne_verticale_XOR(Ancien_X,Ancien_Y+1,Hauteur-2);
|
||||||
Ligne_verticale_XOR(Ancien_X+Largeur-1,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(Ancien_X,Ancien_Y+Hauteur-1,Largeur);
|
||||||
|
|
||||||
Ligne_horizontale_XOR(Nouveau_X,Nouveau_Y,Largeur);
|
Ligne_horizontale_XOR(Nouveau_X,Nouveau_Y,Largeur);
|
||||||
Ligne_verticale_XOR(Nouveau_X,Nouveau_Y+1,Hauteur-2);
|
Ligne_verticale_XOR(Nouveau_X,Nouveau_Y+1,Hauteur-2);
|
||||||
Ligne_verticale_XOR(Nouveau_X+Largeur-1,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);
|
Ligne_horizontale_XOR(Nouveau_X,Nouveau_Y+Hauteur-1,Largeur);
|
||||||
|
|
||||||
Afficher_curseur();
|
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();
|
Effacer_curseur();
|
||||||
@ -1853,12 +1942,14 @@ void Deplacer_fenetre(short Dx, short Dy)
|
|||||||
|
|
||||||
// Restore de ce que la fenêtre cachait
|
// Restore de ce que la fenêtre cachait
|
||||||
Restaure_fond(Fond_fenetre[Fenetre-1], Fenetre_Pos_X, Fenetre_Pos_Y, Fenetre_Largeur, Fenetre_Hauteur);
|
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
|
// Sauvegarde de ce que la fenêtre remplace
|
||||||
Sauve_fond(&(Fond_fenetre[Fenetre-1]), Nouveau_X, Nouveau_Y, Fenetre_Largeur, Fenetre_Hauteur);
|
Sauve_fond(&(Fond_fenetre[Fenetre-1]), Nouveau_X, Nouveau_Y, Fenetre_Largeur, Fenetre_Hauteur);
|
||||||
|
|
||||||
// Raffichage de la fenêtre
|
// Raffichage de la fenêtre
|
||||||
Restaure_fond(Buffer, Nouveau_X, Nouveau_Y, Fenetre_Largeur, Fenetre_Hauteur);
|
Restaure_fond(Buffer, Nouveau_X, Nouveau_Y, Fenetre_Largeur, Fenetre_Hauteur);
|
||||||
|
Buffer = NULL;
|
||||||
|
|
||||||
// Mise à jour du rectangle englobant
|
// Mise à jour du rectangle englobant
|
||||||
UpdateRect(
|
UpdateRect(
|
||||||
@ -2100,7 +2191,11 @@ short Fenetre_Bouton_clicke(void)
|
|||||||
if (Touche)
|
if (Touche)
|
||||||
{
|
{
|
||||||
Bouton=Fenetre_Numero_bouton_touche();
|
Bouton=Fenetre_Numero_bouton_touche();
|
||||||
if (Bouton) return Bouton;
|
if (Bouton)
|
||||||
|
{
|
||||||
|
Touche=0;
|
||||||
|
return Bouton;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
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);
|
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();
|
Afficher_curseur();
|
||||||
}
|
}
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDLK_RIGHTBRACKET : // Décaler Forecolor vers la droite
|
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);
|
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();
|
Afficher_curseur();
|
||||||
}
|
}
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case (SDLK_LEFTBRACKET|MOD_SHIFT) : // Decaler Backcolor vers la gauche
|
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);
|
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);
|
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();
|
Afficher_curseur();
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDLK_BACKSPACE : // Remise des couleurs du menu à l'état normal en essayant
|
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);
|
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);
|
Compter_nb_couleurs_utilisees(&Nb_couleurs_utilisees,Utilisation_couleur);
|
||||||
Il_faut_remapper=1;
|
Il_faut_remapper=1;
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDLK_BACKQUOTE : // Récupération d'une couleur derrière le menu
|
case SDLK_BACKQUOTE : // Récupération d'une couleur derrière le menu
|
||||||
@ -1998,10 +2002,12 @@ void Bouton_Palette(void)
|
|||||||
}
|
}
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
}
|
}
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||||
{
|
{
|
||||||
|
Touche=0;
|
||||||
Fenetre_aide(BOUTON_PALETTE, NULL);
|
Fenetre_aide(BOUTON_PALETTE, NULL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -2091,7 +2097,10 @@ void Bouton_Palette_secondaire(void)
|
|||||||
{
|
{
|
||||||
Bouton_clicke=Fenetre_Bouton_clicke();
|
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||||
|
{
|
||||||
|
Touche=0;
|
||||||
Fenetre_aide(BOUTON_PALETTE, NULL);
|
Fenetre_aide(BOUTON_PALETTE, NULL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
while (Bouton_clicke<=0);
|
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_couleur_selectionnee(Premiere_couleur,Derniere_couleur);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
}
|
}
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDLK_UP : // Select Haut
|
case SDLK_UP : // Select Haut
|
||||||
@ -948,6 +949,7 @@ int Menu_Shade(void)
|
|||||||
Afficher_couleur_case_selectionnee(Select_Debut,Select_Debut);
|
Afficher_couleur_case_selectionnee(Select_Debut,Select_Debut);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
}
|
}
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDLK_BACKQUOTE : // Récupération d'une couleur derrière le menu
|
case SDLK_BACKQUOTE : // Récupération d'une couleur derrière le menu
|
||||||
@ -970,10 +972,14 @@ int Menu_Shade(void)
|
|||||||
|
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
}
|
}
|
||||||
|
Touche=0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
|
||||||
|
{
|
||||||
|
Touche=0;
|
||||||
Fenetre_aide(BOUTON_EFFETS, "SHADE");
|
Fenetre_aide(BOUTON_EFFETS, "SHADE");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while ((Bouton_clicke!=4) && (Bouton_clicke!=5));
|
while ((Bouton_clicke!=4) && (Bouton_clicke!=5));
|
||||||
|
|||||||
@ -699,6 +699,7 @@ byte Demande_de_confirmation(char * Message)
|
|||||||
if (Touche==SDLK_ESCAPE) Bouton_clicke=2;
|
if (Touche==SDLK_ESCAPE) Bouton_clicke=2;
|
||||||
}
|
}
|
||||||
while (Bouton_clicke<=0);
|
while (Bouton_clicke<=0);
|
||||||
|
Touche=0;
|
||||||
|
|
||||||
Fermer_fenetre();
|
Fermer_fenetre();
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
@ -728,6 +729,7 @@ void Warning_message(char * Message)
|
|||||||
do
|
do
|
||||||
Bouton_clicke=Fenetre_Bouton_clicke();
|
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||||
while ((Bouton_clicke<=0) && (Touche!=SDLK_ESCAPE) && (Touche!=SDLK_o));
|
while ((Bouton_clicke<=0) && (Touche!=SDLK_ESCAPE) && (Touche!=SDLK_o));
|
||||||
|
Touche=0;
|
||||||
|
|
||||||
Fermer_fenetre();
|
Fermer_fenetre();
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user