All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jcodec.player.ui.Button Maven / Gradle / Ivy

There is a newer version: 0.2.5
Show newest version
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;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy