1
0

Add mouse listeners

This commit is contained in:
Victor 2014-03-15 17:40:56 +02:00
parent 3bafead19f
commit 8e7020171e

View File

@ -3,13 +3,16 @@ package com.annimon.turrets;
import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferedImage;
/**
*
* @author aNNiMON
*/
public abstract class DoubleBufferedCanvas extends Canvas {
public abstract class DoubleBufferedCanvas extends Canvas implements MouseListener, MouseMotionListener {
private final Graphics2D G;
private final BufferedImage buffer;
@ -19,6 +22,9 @@ public abstract class DoubleBufferedCanvas extends Canvas {
setSize(Constants.WIDTH, Constants.HEIGHT);
setPreferredSize(Constants.SCREEN_DIMENSION);
addMouseListener(DoubleBufferedCanvas.this);
addMouseMotionListener(DoubleBufferedCanvas.this);
buffer = new BufferedImage(Constants.WIDTH, Constants.HEIGHT, BufferedImage.TYPE_INT_RGB);
G = buffer.createGraphics();
thread = new DrawingThread();
@ -48,6 +54,43 @@ public abstract class DoubleBufferedCanvas extends Canvas {
protected abstract void update();
protected abstract void mousePressed(int x, int y);
protected abstract void mouseReleased(int x, int y);
protected abstract void mouseDragged(int x, int y);
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
mousePressed(e.getX(), e.getY());
}
@Override
public void mouseReleased(MouseEvent e) {
mouseReleased(e.getX(), e.getY());
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void mouseDragged(MouseEvent e) {
mouseDragged(e.getX(), e.getY());
}
@Override
public void mouseMoved(MouseEvent e) {
}
private final class DrawingThread extends Thread {
private boolean keepRunning = true;