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 !");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      or   bl,bl
 | 
						if (bl!=0)
 | 
				
			||||||
      jz   Get_input_Pas_de_correction_du_curseur
 | 
						{
 | 
				
			||||||
 | 
						    SDL_WarpMouse(
 | 
				
			||||||
        mov  cl,Mouse_Facteur_de_correction_X
 | 
							INPUT_Nouveau_Mouse_X<<Mouse_Facteur_de_correction_X,
 | 
				
			||||||
        mov  ax,INPUT_Nouveau_Mouse_X
 | 
							INPUT_Nouveau_Mouse_Y<<Mouse_Facteur_de_correction_Y
 | 
				
			||||||
        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
 | 
						if (Touche != 0)
 | 
				
			||||||
      or   ax,ax
 | 
						{
 | 
				
			||||||
      jz   Get_input_Pas_de_correction
 | 
					      //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)
 | 
					      /*
 | 
				
			||||||
      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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -323,6 +317,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