Chess/src/ChessboardMouseAdapter.java
2023-03-21 13:59:45 +01:00

40 lines
1.2 KiB
Java

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
/**
* Chessboard mouse adapter class
*/
public class ChessboardMouseAdapter extends MouseAdapter {
public void mousePressed(MouseEvent me) {
Chessboard c = (Chessboard) me.getSource();
PiecePosition pos = c.getPieceCoordinates(me.getX(), me.getY());
IPiece piece = c.grabPiece(pos);
if (piece != null) {
double totalScale = c.pieceScale * c.boardScale;
piece.setOverride(me.getX() - 50 * totalScale, me.getY() - 50 * totalScale);
c.repaint();
}
}
@Override
public void mouseDragged(MouseEvent me) {
Chessboard c = (Chessboard) me.getSource();
IPiece piece = c.getFloatingPiece();
if (piece != null) {
double totalScale = c.pieceScale * c.boardScale;
piece.setOverride(me.getX() - 50 * totalScale, me.getY() - 50 * totalScale);
c.getRootPane().repaint();
}
}
@Override
public void mouseReleased(MouseEvent me) {
Chessboard c = (Chessboard) me.getSource();
PiecePosition pos = c.getPieceCoordinates(me.getX(), me.getY());
c.returnPiece(pos);
c.getRootPane().repaint();
}
}