Correction de nombreux bugs dans la gestionde la souris et du clavier
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@51 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
5c2811df34
commit
50d60aa753
2
Makefile
2
Makefile
@ -1,4 +1,4 @@
|
|||||||
CC = powerpc-linux-gnu-gcc
|
CC = distcc powerpc-linux-gnu-gcc
|
||||||
COPT = -Wall -Os -c
|
COPT = -Wall -Os -c
|
||||||
LOPT = -lSDL -o grafx2
|
LOPT = -lSDL -o grafx2
|
||||||
|
|
||||||
|
|||||||
64
divers.c
64
divers.c
@ -123,8 +123,8 @@ void Get_input(void)
|
|||||||
{
|
{
|
||||||
case SDL_MOUSEMOTION:
|
case SDL_MOUSEMOTION:
|
||||||
//Mouvement de la souris
|
//Mouvement de la souris
|
||||||
INPUT_Nouveau_Mouse_X = event.motion.x*Mouse_Facteur_de_correction_X;
|
INPUT_Nouveau_Mouse_X = event.motion.x>>Mouse_Facteur_de_correction_X;
|
||||||
INPUT_Nouveau_Mouse_Y = event.motion.y*Mouse_Facteur_de_correction_Y;
|
INPUT_Nouveau_Mouse_Y = event.motion.y>>Mouse_Facteur_de_correction_Y;
|
||||||
break;
|
break;
|
||||||
case SDL_MOUSEBUTTONDOWN:
|
case SDL_MOUSEBUTTONDOWN:
|
||||||
//Clic sur un des boutons de la souris
|
//Clic sur un des boutons de la souris
|
||||||
@ -214,22 +214,23 @@ void Get_input(void)
|
|||||||
|
|
||||||
if(ok)
|
if(ok)
|
||||||
{
|
{
|
||||||
/*
|
SDL_WarpMouse(
|
||||||
dx=INPUT_Nouveau_Mouse_Y<<Mouse_Facteur_de_correction_Y
|
INPUT_Nouveau_Mouse_X<<Mouse_Facteur_de_correction_X,
|
||||||
cx=INPUT_Nouveau_Mouse_X<<Mouse_Facteur_de_correction_X
|
INPUT_Nouveau_Mouse_Y<<Mouse_Facteur_de_correction_Y
|
||||||
mov ax,0004h
|
);
|
||||||
int 33h
|
|
||||||
*/
|
|
||||||
puts("Get_Input > émulation curseur par clavier incomplète!");
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//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
|
||||||
@ -267,31 +268,24 @@ void Get_input(void)
|
|||||||
|
|
||||||
Get_input_Fin_correction_X:
|
Get_input_Fin_correction_X:
|
||||||
*/
|
*/
|
||||||
|
puts("get input: gestion de la loupe non codée !");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (bl!=0)
|
||||||
|
{
|
||||||
|
SDL_WarpMouse(
|
||||||
|
INPUT_Nouveau_Mouse_X<<Mouse_Facteur_de_correction_X,
|
||||||
|
INPUT_Nouveau_Mouse_Y<<Mouse_Facteur_de_correction_Y
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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)
|
||||||
/*
|
/*
|
||||||
|
|
||||||
or bl,bl
|
|
||||||
jz Get_input_Pas_de_correction_du_curseur
|
|
||||||
|
|
||||||
mov cl,Mouse_Facteur_de_correction_X
|
|
||||||
mov ax,INPUT_Nouveau_Mouse_X
|
|
||||||
mov dx,INPUT_Nouveau_Mouse_Y
|
|
||||||
shl ax,cl
|
|
||||||
mov cl,Mouse_Facteur_de_correction_Y
|
|
||||||
shl dx,cl
|
|
||||||
mov cx,ax
|
|
||||||
mov ax,0004h
|
|
||||||
int 33h
|
|
||||||
|
|
||||||
Get_input_Pas_de_correction_du_curseur:
|
|
||||||
|
|
||||||
|
|
||||||
mov ax,Touche
|
|
||||||
or ax,ax
|
|
||||||
jz Get_input_Pas_de_correction
|
|
||||||
; 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)
|
|
||||||
cmp Autoriser_changement_de_couleur_pendant_operation,0
|
cmp Autoriser_changement_de_couleur_pendant_operation,0
|
||||||
jz Get_input_Il_faut_inhiber_les_touches
|
jz Get_input_Il_faut_inhiber_les_touches
|
||||||
|
|
||||||
@ -324,6 +318,7 @@ void Get_input(void)
|
|||||||
Get_input_Pas_de_correction:
|
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 )
|
||||||
{
|
{
|
||||||
@ -493,7 +488,10 @@ byte Effet_Trame(word X,word Y)
|
|||||||
|
|
||||||
void Set_mouse_position(void)
|
void Set_mouse_position(void)
|
||||||
{
|
{
|
||||||
puts("Set_mouse_position non implémenté!");
|
SDL_WarpMouse(
|
||||||
|
Mouse_X << Mouse_Facteur_de_correction_X,
|
||||||
|
Mouse_Y << Mouse_Facteur_de_correction_Y
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Clip_mouse(void)
|
void Clip_mouse(void)
|
||||||
|
|||||||
8
gfx2.ini
8
gfx2.ini
@ -28,8 +28,8 @@
|
|||||||
; take values from 1 to 64. The ³ prendre des valeurs de 1 à 64. Plus
|
; take values from 1 to 64. The ³ prendre des valeurs de 1 à 64. Plus
|
||||||
; smaller values, the faster. ³ les valeurs sont petites, plus c'est
|
; smaller values, the faster. ³ les valeurs sont petites, plus c'est
|
||||||
; ³ rapide.
|
; ³ rapide.
|
||||||
X_sensitivity = 3 ; (default 3)
|
X_sensitivity = 1 ; (default 3)
|
||||||
Y_sensitivity = 3 ; (default 3)
|
Y_sensitivity = 1 ; (default 3)
|
||||||
|
|
||||||
; Due to the fact that those stupid ³ A cause du fait que ces imbéciles de
|
; Due to the fact that those stupid ³ A cause du fait que ces imbéciles de
|
||||||
; mouse drivers' makers don't care ³ programmeurs de gestionnaires de
|
; mouse drivers' makers don't care ³ programmeurs de gestionnaires de
|
||||||
@ -55,8 +55,8 @@
|
|||||||
; Win95 window, you should turn ³ fenêtre Windows95, vous devriez passer
|
; Win95 window, you should turn ³ fenêtre Windows95, vous devriez passer
|
||||||
; these values to 0 (and increase X ³ ces valeurs à 0 (et augmenter les sen-
|
; these values to 0 (and increase X ³ ces valeurs à 0 (et augmenter les sen-
|
||||||
; and Y sensitivities above). ³ sibilités X et Y définies plus haut).
|
; and Y sensitivities above). ³ sibilités X et Y définies plus haut).
|
||||||
X_correction_factor = 1 ; (default 3)
|
X_correction_factor = 0 ; (default 3)
|
||||||
Y_correction_factor = 1 ; (default 3)
|
Y_correction_factor = 0 ; (default 3)
|
||||||
|
|
||||||
; Aspect of the main cursor (cross) ³ Aspect du curseur principal (croix)
|
; Aspect of the main cursor (cross) ³ Aspect du curseur principal (croix)
|
||||||
; 1: Solid ³ 1: Solide
|
; 1: Solid ³ 1: Solide
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user