diff --git a/HMCL/src/main/java/com/jfoenix/controls/JFXRippler.java b/HMCL/src/main/java/com/jfoenix/controls/JFXRippler.java index 99937c7e5..bacf69de6 100644 --- a/HMCL/src/main/java/com/jfoenix/controls/JFXRippler.java +++ b/HMCL/src/main/java/com/jfoenix/controls/JFXRippler.java @@ -34,6 +34,7 @@ import javafx.geometry.Bounds; import javafx.scene.CacheHint; import javafx.scene.Group; import javafx.scene.Node; +import javafx.scene.input.MouseButton; import javafx.scene.input.MouseEvent; import javafx.scene.layout.Pane; import javafx.scene.layout.Region; @@ -78,7 +79,6 @@ public class JFXRippler extends StackPane { protected static final double RIPPLE_MAX_RADIUS = 300; - private boolean enabled = true; private boolean forceOverlay = false; private final Interpolator rippleInterpolator = Interpolator.SPLINE(0.0825, 0.3025, @@ -176,10 +176,6 @@ public class JFXRippler extends StackPane { return control; } - public void setEnabled(boolean enable) { - this.enabled = enable; - } - // methods that can be changed by extending the rippler class /// generate the clipping mask @@ -255,10 +251,15 @@ public class JFXRippler extends StackPane { if (getChildren().contains(control)) { control.boundsInParentProperty().addListener(observable -> resetRippler()); } - control.addEventHandler(MouseEvent.MOUSE_PRESSED, - (event) -> createRipple(event.getX(), event.getY())); + control.addEventHandler(MouseEvent.MOUSE_PRESSED, event -> { + if (event.getButton() == MouseButton.PRIMARY) + createRipple(event.getX(), event.getY()); + }); // create fade out transition for the ripple - control.addEventHandler(MouseEvent.MOUSE_RELEASED, e -> releaseRipple()); + control.addEventHandler(MouseEvent.MOUSE_RELEASED, event -> { + if (event.getButton() == MouseButton.PRIMARY) + releaseRipple(); + }); } /** @@ -363,25 +364,23 @@ public class JFXRippler extends StackPane { } void createRipple() { - if (enabled) { - if (!generating.getAndSet(true)) { - // create overlay once then change its color later - createOverlay(); - if (this.getClip() == null || (getChildren().size() == 1 && !cacheRipplerClip) || resetClip) { - this.setClip(getMask()); - } - this.resetClip = false; - - // create the ripple effect - final Ripple ripple = new Ripple(generatorCenterX, generatorCenterY); - getChildren().add(ripple); - ripplesQueue.add(ripple); - - // animate the ripple - overlayRect.outAnimation.stop(); - overlayRect.inAnimation.play(); - ripple.inAnimation.play(); + if (!generating.getAndSet(true)) { + // create overlay once then change its color later + createOverlay(); + if (this.getClip() == null || (getChildren().size() == 1 && !cacheRipplerClip) || resetClip) { + this.setClip(getMask()); } + this.resetClip = false; + + // create the ripple effect + final Ripple ripple = new Ripple(generatorCenterX, generatorCenterY); + getChildren().add(ripple); + ripplesQueue.add(ripple); + + // animate the ripple + overlayRect.outAnimation.stop(); + overlayRect.inAnimation.play(); + ripple.inAnimation.play(); } }