Mouse input is now fully working (we can even release a mouse button :) quite useful :))
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@52 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
50d60aa753
commit
7240396ae6
3
Makefile
3
Makefile
@ -2,8 +2,9 @@ CC = distcc powerpc-linux-gnu-gcc
|
|||||||
COPT = -Wall -Os -c
|
COPT = -Wall -Os -c
|
||||||
LOPT = -lSDL -o grafx2
|
LOPT = -lSDL -o grafx2
|
||||||
|
|
||||||
gfx2 : main.o init.o graph.o sdlscreen.o divers.o special.o boutons.o palette.o aide.o operatio.o loadsave.o readline.o moteur.o files.o op_c.o linux.o op_asm.o
|
grafx2 : main.o init.o graph.o sdlscreen.o divers.o special.o boutons.o palette.o aide.o operatio.o loadsave.o readline.o moteur.o files.o op_c.o linux.o op_asm.o
|
||||||
$(CC) $(LOPT) main.o graph.o divers.o init.o files.o linux.o loadsave.o boutons.o moteur.o sdlscreen.o aide.o palette.o operatio.o op_c.o readline.o special.o op_asm.o
|
$(CC) $(LOPT) main.o graph.o divers.o init.o files.o linux.o loadsave.o boutons.o moteur.o sdlscreen.o aide.o palette.o operatio.o op_c.o readline.o special.o op_asm.o
|
||||||
|
strip grafx2
|
||||||
|
|
||||||
main.o : graph.o const.h struct.h global.h graph.h divers.h init.h boutons.h moteur.h files.h loadsave.h main.c readini.h saveini.h
|
main.o : graph.o const.h struct.h global.h graph.h divers.h init.h boutons.h moteur.h files.h loadsave.h main.c readini.h saveini.h
|
||||||
$(CC) $(COPT) main.c
|
$(CC) $(COPT) main.c
|
||||||
|
|||||||
113
divers.c
113
divers.c
@ -130,6 +130,10 @@ void Get_input(void)
|
|||||||
//Clic sur un des boutons de la souris
|
//Clic sur un des boutons de la souris
|
||||||
INPUT_Nouveau_Mouse_K=event.button.button;
|
INPUT_Nouveau_Mouse_K=event.button.button;
|
||||||
break;
|
break;
|
||||||
|
case SDL_MOUSEBUTTONUP:
|
||||||
|
//Bouton souris relaché
|
||||||
|
INPUT_Nouveau_Mouse_K=0;
|
||||||
|
break;
|
||||||
case SDL_KEYDOWN:
|
case SDL_KEYDOWN:
|
||||||
//Appui sur une touche du clavier
|
//Appui sur une touche du clavier
|
||||||
|
|
||||||
@ -226,11 +230,8 @@ void Get_input(void)
|
|||||||
//Gestion "avancée" du curseur: interdire la descente du curseur dans le
|
//Gestion "avancée" du curseur: interdire la descente du curseur dans le
|
||||||
//menu lorsqu'on est en train de travailler dans l'image
|
//menu lorsqu'on est en train de travailler dans l'image
|
||||||
|
|
||||||
printf("Taille de la pile des opérations : %d\n",Operation_Taille_pile);
|
|
||||||
|
|
||||||
if(Operation_Taille_pile!=0)
|
if(Operation_Taille_pile!=0)
|
||||||
{
|
{
|
||||||
puts("dans le if...");
|
|
||||||
byte bl=0;//BL va indiquer si on doit corriger la position du curseur
|
byte bl=0;//BL va indiquer si on doit corriger la position du curseur
|
||||||
|
|
||||||
//Si le curseur ne se trouve plus dans l'image
|
//Si le curseur ne se trouve plus dans l'image
|
||||||
@ -240,38 +241,28 @@ void Get_input(void)
|
|||||||
bl++;
|
bl++;
|
||||||
INPUT_Nouveau_Mouse_Y=Menu_Ordonnee-1; //La ligne !!au-dessus!! du menu
|
INPUT_Nouveau_Mouse_Y=Menu_Ordonnee-1; //La ligne !!au-dessus!! du menu
|
||||||
}
|
}
|
||||||
if(Loupe_Mode != 0)
|
|
||||||
|
if(Loupe_Mode)
|
||||||
{
|
{
|
||||||
/*
|
if(Operation_dans_loupe==0)
|
||||||
|
{
|
||||||
mov ax,INPUT_Nouveau_Mouse_X
|
if(INPUT_Nouveau_Mouse_X>=Principal_Split)
|
||||||
cmp Operation_dans_loupe,0
|
{
|
||||||
jnz Get_input_X_dans_loupe
|
bl++;
|
||||||
|
INPUT_Nouveau_Mouse_X=Principal_Split-1;
|
||||||
mov dx,Principal_Split
|
}
|
||||||
cmp ax,dx
|
}
|
||||||
jb Get_input_Fin_correction_X
|
else
|
||||||
|
{
|
||||||
dec dx
|
if(INPUT_Nouveau_Mouse_X<Principal_X_Zoom)
|
||||||
inc bl
|
{
|
||||||
mov INPUT_Nouveau_Mouse_X,dx
|
bl++;
|
||||||
|
INPUT_Nouveau_Mouse_X=Principal_X_Zoom;
|
||||||
jmp Get_input_Fin_correction_X
|
}
|
||||||
Get_input_X_dans_loupe:
|
}
|
||||||
|
|
||||||
mov dx,Principal_X_Zoom
|
|
||||||
cmp ax,dx
|
|
||||||
jae Get_input_Fin_correction_X
|
|
||||||
|
|
||||||
inc bl
|
|
||||||
mov INPUT_Nouveau_Mouse_X,dx
|
|
||||||
|
|
||||||
Get_input_Fin_correction_X:
|
|
||||||
*/
|
|
||||||
puts("get input: gestion de la loupe non codée !");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bl!=0)
|
if (bl)
|
||||||
{
|
{
|
||||||
SDL_WarpMouse(
|
SDL_WarpMouse(
|
||||||
INPUT_Nouveau_Mouse_X<<Mouse_Facteur_de_correction_X,
|
INPUT_Nouveau_Mouse_X<<Mouse_Facteur_de_correction_X,
|
||||||
@ -285,42 +276,36 @@ void Get_input(void)
|
|||||||
//Enfin, on inhibe les touches (sauf si c'est un changement de couleur
|
//Enfin, on inhibe les touches (sauf si c'est un changement de couleur
|
||||||
//ou de taille de pinceau lors d'une des operations suivantes:
|
//ou de taille de pinceau lors d'une des operations suivantes:
|
||||||
//OPERATION_DESSIN_CONTINU, OPERATION_DESSIN_DISCONTINU, OPERATION_SPRAY)
|
//OPERATION_DESSIN_CONTINU, OPERATION_DESSIN_DISCONTINU, OPERATION_SPRAY)
|
||||||
/*
|
if(Autoriser_changement_de_couleur_pendant_operation)
|
||||||
cmp Autoriser_changement_de_couleur_pendant_operation,0
|
{
|
||||||
jz Get_input_Il_faut_inhiber_les_touches
|
//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
|
if(
|
||||||
; le changement de couleur ou de taille de pinceau.
|
(Touche != Config_Touche[6]) &&
|
||||||
cmp ax,word ptr [Config_Touche+12]
|
(Touche != Config_Touche[7]) &&
|
||||||
je Get_input_Pas_de_correction
|
(Touche != Config_Touche[8]) &&
|
||||||
cmp ax,word ptr [Config_Touche+14]
|
(Touche != Config_Touche[9]) &&
|
||||||
je Get_input_Pas_de_correction
|
(Touche != Config_Touche[10]) &&
|
||||||
cmp ax,word ptr [Config_Touche+16]
|
(Touche != Config_Touche[11]) &&
|
||||||
je Get_input_Pas_de_correction
|
(Touche != Config_Touche[12]) &&
|
||||||
cmp ax,word ptr [Config_Touche+18]
|
(Touche != Config_Touche[13]) &&
|
||||||
je Get_input_Pas_de_correction
|
(Touche != Config_Touche[14]) &&
|
||||||
cmp ax,word ptr [Config_Touche+20]
|
(Touche != Config_Touche[15])
|
||||||
je Get_input_Pas_de_correction
|
)
|
||||||
cmp ax,word ptr [Config_Touche+22]
|
{
|
||||||
je Get_input_Pas_de_correction
|
Touche=0;
|
||||||
cmp ax,word ptr [Config_Touche+24]
|
}
|
||||||
je Get_input_Pas_de_correction
|
}
|
||||||
cmp ax,word ptr [Config_Touche+26]
|
else Touche = 0;
|
||||||
je Get_input_Pas_de_correction
|
|
||||||
cmp ax,word ptr [Config_Touche+28]
|
|
||||||
je Get_input_Pas_de_correction
|
|
||||||
cmp ax,word ptr [Config_Touche+30]
|
|
||||||
je Get_input_Pas_de_correction
|
|
||||||
|
|
||||||
Get_input_Il_faut_inhiber_les_touches:
|
|
||||||
mov word ptr Touche,0
|
|
||||||
|
|
||||||
Get_input_Pas_de_correction:
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (INPUT_Nouveau_Mouse_X != Mouse_X || INPUT_Nouveau_Mouse_Y != Mouse_Y || INPUT_Nouveau_Mouse_K != Mouse_K )
|
if (
|
||||||
|
(INPUT_Nouveau_Mouse_X != Mouse_X) ||
|
||||||
|
(INPUT_Nouveau_Mouse_Y != Mouse_Y) ||
|
||||||
|
(INPUT_Nouveau_Mouse_K != Mouse_K)
|
||||||
|
)
|
||||||
{
|
{
|
||||||
Forcer_affichage_curseur=0;
|
Forcer_affichage_curseur=0;
|
||||||
Mouse_X=INPUT_Nouveau_Mouse_X;
|
Mouse_X=INPUT_Nouveau_Mouse_X;
|
||||||
|
|||||||
@ -22,11 +22,11 @@ void Demarrer_pile_operation(word Operation_demandee)
|
|||||||
case OPERATION_ETIRER_BROSSE :
|
case OPERATION_ETIRER_BROSSE :
|
||||||
case OPERATION_TOURNER_BROSSE:
|
case OPERATION_TOURNER_BROSSE:
|
||||||
Operation_avant_interruption=Operation_en_cours;
|
Operation_avant_interruption=Operation_en_cours;
|
||||||
// On passe … l'operation demandée
|
// On passe à l'operation demandée
|
||||||
Operation_en_cours=Operation_demandee;
|
Operation_en_cours=Operation_demandee;
|
||||||
break;
|
break;
|
||||||
default :
|
default :
|
||||||
// On passe … l'operation demandée
|
// On passe à l'operation demandée
|
||||||
Operation_en_cours=Operation_demandee;
|
Operation_en_cours=Operation_demandee;
|
||||||
Operation_avant_interruption=Operation_en_cours;
|
Operation_avant_interruption=Operation_en_cours;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user