package org.teachingextensions.logo.utils.MazeUtils;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
public class StdDrawMouseEvents implements MouseListener, MouseMotionListener
{
public static Object mouseLock = new Object();
private static boolean mousePressed = false;
private static double mouseX = 0;
private static double mouseY = 0;
public static boolean isMousePressed()
{
synchronized (mouseLock)
{
return mousePressed;
}
}
public static double mouseX()
{
synchronized (mouseLock)
{
return mouseX;
}
}
public static double mouseY()
{
synchronized (mouseLock)
{
return mouseY;
}
}
@Override
public void mouseClicked(MouseEvent e)
{
}
@Override
public void mouseEntered(MouseEvent e)
{
}
@Override
public void mouseExited(MouseEvent e)
{
}
@Override
public void mousePressed(MouseEvent e)
{
synchronized (mouseLock)
{
mouseX = StdDraw.userX(e.getX());
mouseY = StdDraw.userY(e.getY());
mousePressed = true;
}
}
@Override
public void mouseReleased(MouseEvent e)
{
synchronized (mouseLock)
{
mousePressed = false;
}
}
@Override
public void mouseDragged(MouseEvent e)
{
synchronized (mouseLock)
{
mouseX = StdDraw.userX(e.getX());
mouseY = StdDraw.userY(e.getY());
}
}
@Override
public void mouseMoved(MouseEvent e)
{
synchronized (mouseLock)
{
mouseX = StdDraw.userX(e.getX());
mouseY = StdDraw.userY(e.getY());
}
}
}