Rename pressing to tinting. Change to behavior when leaving the rect will remove the tint (would stop tinting only when button released).

This commit is contained in:
John Hitchings 2019-03-10 23:12:48 -07:00
parent 11b93d0771
commit 5c01b38ed6
2 changed files with 18 additions and 7 deletions

View file

@ -9,6 +9,7 @@ import java.util.function.Consumer;
public class FirstButtonMousePressedAction extends MouseAdapter {
private final Consumer<MouseEvent> callback;
private boolean pressed = false;
private boolean inside = false;
public FirstButtonMousePressedAction(Consumer<MouseEvent> callback) {
@ -17,17 +18,19 @@ public class FirstButtonMousePressedAction extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
pressed = true;
if (e.getSource() instanceof KeyboundButton) {
KeyboundButton button = (KeyboundButton) e.getSource();
button.setPressing(true);
button.setTint(true);
}
}
@Override
public void mouseReleased(MouseEvent e) {
pressed = false;
if (e.getSource() instanceof KeyboundButton) {
KeyboundButton button = (KeyboundButton) e.getSource();
button.setPressing(false);
button.setTint(false);
}
if (e.getButton() == MouseEvent.BUTTON1 && inside) {
callback.accept(e);
@ -37,11 +40,19 @@ public class FirstButtonMousePressedAction extends MouseAdapter {
@Override
public void mouseEntered(MouseEvent e) {
inside = true;
if (pressed && e.getSource() instanceof KeyboundButton) {
KeyboundButton button = (KeyboundButton) e.getSource();
button.setTint(true);
}
}
@Override
public void mouseExited(MouseEvent e) {
inside = false;
if (e.getSource() instanceof KeyboundButton) {
KeyboundButton button = (KeyboundButton) e.getSource();
button.setTint(false);
}
}
}