diff options
author | Juuxel <6596629+Juuxel@users.noreply.github.com> | 2020-05-08 22:47:06 +0300 |
---|---|---|
committer | Juuxel <6596629+Juuxel@users.noreply.github.com> | 2020-05-08 22:47:06 +0300 |
commit | 21c781b162ab649e10c076343cec9dd0f8736deb (patch) | |
tree | b1e1c1b46750bdfa86e3f99b11ef3b2625e75e48 | |
parent | fe0277477fbf0290429c1d593afc7bcc63db3a35 (diff) | |
download | LibGui-21c781b162ab649e10c076343cec9dd0f8736deb.tar.gz LibGui-21c781b162ab649e10c076343cec9dd0f8736deb.tar.bz2 LibGui-21c781b162ab649e10c076343cec9dd0f8736deb.zip |
Fix slider scrolling with keys
-rw-r--r-- | src/main/java/io/github/cottonmc/cotton/gui/widget/WAbstractSlider.java | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/src/main/java/io/github/cottonmc/cotton/gui/widget/WAbstractSlider.java b/src/main/java/io/github/cottonmc/cotton/gui/widget/WAbstractSlider.java index 8f93221..3367b1d 100644 --- a/src/main/java/io/github/cottonmc/cotton/gui/widget/WAbstractSlider.java +++ b/src/main/java/io/github/cottonmc/cotton/gui/widget/WAbstractSlider.java @@ -336,28 +336,38 @@ public abstract class WAbstractSlider extends WWidget { } } - private static boolean isDecreasingKey(int ch) { - return ch == GLFW.GLFW_KEY_LEFT || ch == GLFW.GLFW_KEY_DOWN; + private boolean isDecreasingKey(int ch) { + return direction.isInverted() + ? (ch == GLFW.GLFW_KEY_RIGHT || ch == GLFW.GLFW_KEY_UP) + : (ch == GLFW.GLFW_KEY_LEFT || ch == GLFW.GLFW_KEY_DOWN); } - private static boolean isIncreasingKey(int ch) { - return ch == GLFW.GLFW_KEY_RIGHT || ch == GLFW.GLFW_KEY_UP; + private boolean isIncreasingKey(int ch) { + return direction.isInverted() + ? (ch == GLFW.GLFW_KEY_LEFT || ch == GLFW.GLFW_KEY_DOWN) + : (ch == GLFW.GLFW_KEY_RIGHT || ch == GLFW.GLFW_KEY_UP); } public enum Direction { - UP(Axis.VERTICAL), - DOWN(Axis.VERTICAL), - LEFT(Axis.HORIZONTAL), - RIGHT(Axis.HORIZONTAL); + UP(Axis.VERTICAL, false), + DOWN(Axis.VERTICAL, true), + LEFT(Axis.HORIZONTAL, true), + RIGHT(Axis.HORIZONTAL, false); private final Axis axis; + private final boolean inverted; - Direction(Axis axis) { + Direction(Axis axis, boolean inverted) { this.axis = axis; + this.inverted = inverted; } public Axis getAxis() { return axis; } + + public boolean isInverted() { + return inverted; + } } } |