package org.jcodec.player.ui;
import java.awt.image.BufferedImage;
/**
* This class is part of JCodec ( www.jcodec.org ) This software is distributed
* under FreeBSD License
*
* @author The JCodec project
*
*/
public class Button implements Control {
protected Image normal;
protected Image pressed;
protected int x;
protected int y;
private Runnable handler;
private Image icon;
public Button(BufferedImage normal, BufferedImage pressed, int x, int y, Runnable handler) {
// this.normal = YUY2.convert(normal);
// this.pressed = YUY2.convert(pressed);
this.x = x;
this.y = y;
this.handler = handler;
this.icon = this.normal;
}
public void display(Image img) {
img.draw(icon, x, y);
}
public boolean handleEvent(Event evt) {
if (evt.getType() == 1 && evt.getX() >= x && evt.getY() >= y && evt.getX() < x + normal.getWidth()
&& evt.getY() < y + normal.getHeight()) {
icon = pressed;
if (handler != null)
handler.run();
return true;
} else if (evt.getType() == 2) {
icon = normal;
}
return false;
}
protected boolean isPressed() {
return icon == pressed;
}
}