aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigSlider.java6
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java4
2 files changed, 7 insertions, 3 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigSlider.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigSlider.java
index 00dbd9f..adbfb8d 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigSlider.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigSlider.java
@@ -23,7 +23,7 @@ public class ConfigSlider extends BasicOption {
this.min = min;
this.max = max;
this.step = step;
- inputField = new NumberInputField(84, 24, 0, min, max, step);
+ inputField = new NumberInputField(84, 24, 0, min, max, step == 0 ? 1 : step);
}
@Override
@@ -35,11 +35,11 @@ public class ConfigSlider extends BasicOption {
if (dragging) {
xCoordinate = (int) MathUtils.clamp(InputUtils.mouseX(), x + 352, x + 864);
value = MathUtils.map(xCoordinate, x + 352, x + 864, min, max);
- } else if (inputField.isToggled()) {
+ } else if (inputField.isToggled() || inputField.arrowsClicked()) {
value = inputField.getCurrentValue();
xCoordinate = (int) MathUtils.map(value, min, max, x + 352, x + 864);
}
- if (dragging && InputUtils.isClicked() || inputField.isToggled()) {
+ if (dragging && InputUtils.isClicked() || inputField.isToggled() || inputField.arrowsClicked()) {
dragging = false;
if (step > 0) {
xCoordinate = getStepCoordinate(xCoordinate, x);
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java
index 1eefe74..5475a55 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java
@@ -117,4 +117,8 @@ public class NumberInputField extends TextInputField {
public void setMin(float min) {
this.min = min;
}
+
+ public boolean arrowsClicked() {
+ return upArrow.isClicked() || downArrow.isClicked();
+ }
}