package br;

import java.awt.AWTException; 
import java.awt.MouseInfo;
import java.awt.Robot;
import java.awt.event.InputEvent;


public class Mouse {
		
	public Mouse(String direcao){
		try{
        	moveMouse(direcao);
        }catch(AWTException e){
        	e.printStackTrace();
        }
	}
	
	public boolean moveMouse(String direcao) throws AWTException{			
		Robot robo;
		
		//distancia que o mouse percorre na tela
		final int distancia = 20;
		
		//acoes do mouse
		final String esquerda = "e";
		final String direita = "d";
		final String cima = "c";
		final String baixo = "b";
		final String cliqueesquerdo = "1";
		final String cliquedireito = "3";
		final String cliqueesquerdosolta = "2";
		final String cliquedireitosolta = "4";
		
		robo = new Robot();
		
		if (!direcao.equals("n")){
			int x = MouseInfo.getPointerInfo().getLocation().x;
			int y = MouseInfo.getPointerInfo().getLocation().y;
			
			//move para direita
	    	if (direcao.equals(direita)){
	    		robo.mouseMove(x+distancia, y);
	    		return true;
	    	}
	    	
	    	//move para esquerda
	    	if (direcao.equals(esquerda)){
	    		robo.mouseMove(x-distancia, y);
	    		return true;
	    	}
	    	
	    	//move para cima
	    	if (direcao.equals(baixo)){
	    		robo.mouseMove(x, y+distancia);
	    		return true;
	    	}
	    	
	    	//move para baixo
	    	if (direcao.equals(cima)){
	    		robo.mouseMove(x, y-distancia);
	    		return true;
	    	}
	    	
	    	//clique esquerdo do mouse
	    	if (direcao.equals(cliqueesquerdo)){
	    		robo.mousePress(InputEvent.BUTTON1_MASK);
	    		return true;
	    	}
	    	
	    	//clique direito do mouse
	    	if (direcao.equals(cliquedireito)){
	    		robo.mousePress(InputEvent.BUTTON3_MASK);
	    		return true;
	    	}
	    	
	    	//clique esquerdo do mouse solta
	    	if (direcao.equals(cliqueesquerdosolta)){
	    		robo.mouseRelease(InputEvent.BUTTON1_MASK);
	    		return true;
	    	}
	    	
	    	//clique direito do mouse solta
	    	if (direcao.equals(cliquedireitosolta)){
	    		robo.mouseRelease(InputEvent.BUTTON3_MASK);
	    		return true;
	    	}
		}
		return false;
	}
}
