From 7240396ae641a42fbdff3428b2dceb2fe25b4ef6 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sat, 5 Apr 2008 11:54:10 +0000 Subject: [PATCH] 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 --- Makefile | 3 +- divers.c | 119 +++++++++++++++++++++++------------------------------ operatio.c | 4 +- 3 files changed, 56 insertions(+), 70 deletions(-) diff --git a/Makefile b/Makefile index 25f6c72f..caa013d1 100644 --- a/Makefile +++ b/Makefile @@ -2,8 +2,9 @@ CC = distcc powerpc-linux-gnu-gcc COPT = -Wall -Os -c 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 + 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 $(CC) $(COPT) main.c diff --git a/divers.c b/divers.c index d7bbec71..1f9dd07f 100644 --- a/divers.c +++ b/divers.c @@ -130,6 +130,10 @@ void Get_input(void) //Clic sur un des boutons de la souris INPUT_Nouveau_Mouse_K=event.button.button; break; + case SDL_MOUSEBUTTONUP: + //Bouton souris relaché + INPUT_Nouveau_Mouse_K=0; + break; case SDL_KEYDOWN: //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 //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) { - puts("dans le if..."); byte bl=0;//BL va indiquer si on doit corriger la position du curseur //Si le curseur ne se trouve plus dans l'image @@ -240,38 +241,28 @@ void Get_input(void) bl++; INPUT_Nouveau_Mouse_Y=Menu_Ordonnee-1; //La ligne !!au-dessus!! du menu } - if(Loupe_Mode != 0) + + if(Loupe_Mode) { -/* - - mov ax,INPUT_Nouveau_Mouse_X - cmp Operation_dans_loupe,0 - jnz Get_input_X_dans_loupe - - mov dx,Principal_Split - cmp ax,dx - jb Get_input_Fin_correction_X - - dec dx - inc bl - mov INPUT_Nouveau_Mouse_X,dx - - 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(Operation_dans_loupe==0) + { + if(INPUT_Nouveau_Mouse_X>=Principal_Split) + { + bl++; + INPUT_Nouveau_Mouse_X=Principal_Split-1; + } + } + else + { + if(INPUT_Nouveau_Mouse_X