brush rotate: use angles from -179° to 180°
This commit is contained in:
		
							parent
							
								
									e152b75f4a
								
							
						
					
					
						commit
						266b092f63
					
				@ -947,7 +947,7 @@ void Rotate_brush_1_5(void)
 | 
			
		||||
// Souris effacée: Non
 | 
			
		||||
//
 | 
			
		||||
{
 | 
			
		||||
  char  str[4];
 | 
			
		||||
  char  str[8];
 | 
			
		||||
  short old_x;
 | 
			
		||||
  short old_y;
 | 
			
		||||
  short prev_state;
 | 
			
		||||
@ -973,18 +973,16 @@ void Rotate_brush_1_5(void)
 | 
			
		||||
    {
 | 
			
		||||
      // Angle from 0 to 2 PI
 | 
			
		||||
      int dx = cursor_x - Brush_rotation_center_X;
 | 
			
		||||
      int dy = cursor_y - Brush_rotation_center_Y;
 | 
			
		||||
      angle = 0.0 - atan2((double)dy, (double)dx);
 | 
			
		||||
      if (angle < 0.0)
 | 
			
		||||
        angle += M_2PI;
 | 
			
		||||
      int dy = -(cursor_y - Brush_rotation_center_Y);
 | 
			
		||||
      angle = atan2((double)dy, (double)dx);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (Menu_is_visible)
 | 
			
		||||
    {
 | 
			
		||||
      if (Config.Coords_rel)
 | 
			
		||||
      {
 | 
			
		||||
        Num2str((int)(angle*180.0/M_PI),str,3);
 | 
			
		||||
        Print_in_menu(str,7);
 | 
			
		||||
        snprintf(str, sizeof(str), "%4d", (int)(angle*180.0/M_PI));
 | 
			
		||||
        Print_in_menu(str, 6);
 | 
			
		||||
      }
 | 
			
		||||
      else
 | 
			
		||||
        Print_coordinates();
 | 
			
		||||
@ -1016,7 +1014,7 @@ void Rotate_brush_0_5(void)
 | 
			
		||||
// Souris effacée: Non
 | 
			
		||||
//
 | 
			
		||||
{
 | 
			
		||||
  char  str[4];
 | 
			
		||||
  char  str[8];
 | 
			
		||||
  short old_x;
 | 
			
		||||
  short old_y;
 | 
			
		||||
  short computed_x=0;
 | 
			
		||||
@ -1047,18 +1045,16 @@ void Rotate_brush_0_5(void)
 | 
			
		||||
    {
 | 
			
		||||
      // Angle from 0 to 2 PI
 | 
			
		||||
      int dx = cursor_x - Brush_rotation_center_X;
 | 
			
		||||
      int dy = cursor_y - Brush_rotation_center_Y;
 | 
			
		||||
      angle = 0.0 - atan2((double)dy, (double)dx);
 | 
			
		||||
      if (angle < 0.0)
 | 
			
		||||
        angle += M_2PI;
 | 
			
		||||
      int dy = -(cursor_y - Brush_rotation_center_Y);
 | 
			
		||||
      angle = atan2((double)dy, (double)dx);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (Menu_is_visible)
 | 
			
		||||
    {
 | 
			
		||||
      if (Config.Coords_rel)
 | 
			
		||||
      {
 | 
			
		||||
        Num2str(Round(angle*180.0/M_PI),str,3);
 | 
			
		||||
        Print_in_menu(str,7);
 | 
			
		||||
        snprintf(str, sizeof(str), "%4d", (int)(angle*180.0/M_PI));
 | 
			
		||||
        Print_in_menu(str, 6);
 | 
			
		||||
      }
 | 
			
		||||
      else
 | 
			
		||||
        Print_coordinates();
 | 
			
		||||
@ -1075,14 +1071,14 @@ void Rotate_brush_0_5(void)
 | 
			
		||||
    computed_y=Brush_rotation_center_Y;
 | 
			
		||||
    switch (Key_ANSI)
 | 
			
		||||
    {
 | 
			
		||||
      case '6': angle=      0.0; computed_x++;               break;
 | 
			
		||||
      case '9': angle=M_PI*0.25; computed_x++; computed_y--; break;
 | 
			
		||||
      case '8': angle=M_PI*0.5 ;               computed_y--; break;
 | 
			
		||||
      case '7': angle=M_PI*0.75; computed_x--; computed_y--; break;
 | 
			
		||||
      case '4': angle=M_PI     ; computed_x--;               break;
 | 
			
		||||
      case '1': angle=M_PI*1.25; computed_x--; computed_y++; break;
 | 
			
		||||
      case '2': angle=M_PI*1.5 ;               computed_y++; break;
 | 
			
		||||
      case '3': angle=M_PI*1.75; computed_x++; computed_y++; break;
 | 
			
		||||
      case '6': angle =       0.0; computed_x++;               break;
 | 
			
		||||
      case '9': angle = M_PI*0.25; computed_x++; computed_y--; break;
 | 
			
		||||
      case '8': angle = M_PI*0.5 ;               computed_y--; break;
 | 
			
		||||
      case '7': angle = M_PI*0.75; computed_x--; computed_y--; break;
 | 
			
		||||
      case '4': angle = M_PI     ; computed_x--;               break;
 | 
			
		||||
      case '1': angle =-M_PI*0.75; computed_x--; computed_y++; break;
 | 
			
		||||
      case '2': angle =-M_PI*0.5 ;               computed_y++; break;
 | 
			
		||||
      case '3': angle =-M_PI*0.25; computed_x++; computed_y++; break;
 | 
			
		||||
      default :
 | 
			
		||||
        angle_change=0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user