aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/gui/elements/config
diff options
context:
space:
mode:
authorDeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>2022-05-20 20:54:33 +0200
committerDeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>2022-05-20 20:54:33 +0200
commit13965c418bb9429d2ff92fbcbb29fad73e8a120f (patch)
treeab744b0afa6f43de0a7a04da3bda870099fee589 /src/main/java/cc/polyfrost/oneconfig/gui/elements/config
parent85a8ae69736f93a1a972b696fd9d2fba5d435884 (diff)
downloadOneConfig-13965c418bb9429d2ff92fbcbb29fad73e8a120f.tar.gz
OneConfig-13965c418bb9429d2ff92fbcbb29fad73e8a120f.tar.bz2
OneConfig-13965c418bb9429d2ff92fbcbb29fad73e8a120f.zip
some small stuff and start on multi line textbox
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/gui/elements/config')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigDropdown.java38
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java19
2 files changed, 30 insertions, 27 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigDropdown.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigDropdown.java
index c01228d..f6041c9 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigDropdown.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigDropdown.java
@@ -35,8 +35,8 @@ public class ConfigDropdown extends BasicOption { // TODO: remove dividers and f
else hovered = InputUtils.isAreaHovered(x + 352, y, 640, 32) && isEnabled();
if (hovered && InputUtils.isClicked() || opened && InputUtils.isClicked(true) &&
- (size == 1 && !InputUtils.isAreaHovered(x + 224, y + 40, 256, options.length * 36) ||
- size == 2 && !InputUtils.isAreaHovered(x + 352, y + 40, 640, options.length * 36))) {
+ (size == 1 && !InputUtils.isAreaHovered(x + 224, y + 40, 256, options.length * 32) ||
+ size == 2 && !InputUtils.isAreaHovered(x + 352, y + 40, 640, options.length * 32))) {
opened = !opened;
InputUtils.blockClicks(opened);
}
@@ -88,16 +88,16 @@ public class ConfigDropdown extends BasicOption { // TODO: remove dividers and f
RenderManager.drawSvg(vg, SVGs.DROPDOWN_LIST, x + 452, y + 4, 24, 24);
NanoVG.nvgGlobalAlpha(vg, 1f);
- RenderManager.drawRoundedRect(vg, x + 224, y + 48, 256, options.length * 36, OneConfigConfig.GRAY_700, 12);
- RenderManager.drawHollowRoundRect(vg, x + 223, y + 47, 258, options.length * 36 + 2, new Color(204, 204, 204, 77).getRGB(), 11, 1);
- int optionY = y + 48;
+ RenderManager.drawRoundedRect(vg, x + 224, y + 48, 256, options.length * 32 + 8, OneConfigConfig.GRAY_700, 12);
+ RenderManager.drawHollowRoundRect(vg, x + 223, y + 47, 258, options.length * 32 + 10, new Color(204, 204, 204, 77).getRGB(), 12, 1);
+ int optionY = y + 52;
for (String option : options) {
int color = OneConfigConfig.WHITE_80;
- boolean optionHovered = InputUtils.isAreaHovered(x + 224, optionY, 252, 36);
+ boolean optionHovered = InputUtils.isAreaHovered(x + 224, optionY, 252, 32);
if (optionHovered && Mouse.isButtonDown(0)) {
- RenderManager.drawRoundedRect(vg, x + 228, optionY + 4, 248, 28, OneConfigConfig.BLUE_700_80, 8);
+ RenderManager.drawRoundedRect(vg, x + 228, optionY + 2, 248, 28, OneConfigConfig.BLUE_700_80, 8);
} else if (optionHovered) {
- RenderManager.drawRoundedRect(vg, x + 228, optionY + 4, 248, 28, OneConfigConfig.BLUE_700, 8);
+ RenderManager.drawRoundedRect(vg, x + 228, optionY + 2, 248, 28, OneConfigConfig.BLUE_700, 8);
color = OneConfigConfig.WHITE;
}
if (optionHovered && InputUtils.isClicked(true)) {
@@ -109,10 +109,8 @@ public class ConfigDropdown extends BasicOption { // TODO: remove dividers and f
InputUtils.blockClicks(false);
}
- RenderManager.drawString(vg, option, x + 240, optionY + 20, color, 14, Fonts.MEDIUM);
- if (!options[options.length - 1].equals(option))
- RenderManager.drawLine(vg, x + 232, optionY + 36, x + 472, optionY + 36, 1, new Color(204, 204, 204, 77).getRGB());
- optionY += 36;
+ RenderManager.drawString(vg, option, x + 240, optionY + 18, color, 14, Fonts.MEDIUM);
+ optionY += 32;
}
} else {
RenderManager.drawRoundedRect(vg, x + 352, y, 640, 32, backgroundColor, 12);
@@ -122,22 +120,20 @@ public class ConfigDropdown extends BasicOption { // TODO: remove dividers and f
RenderManager.drawSvg(vg, SVGs.DROPDOWN_LIST, x + 964, y + 4, 24, 24);
NanoVG.nvgGlobalAlpha(vg, 1f);
- RenderManager.drawRoundedRect(vg, x + 352, y + 48, 640, options.length * 36, OneConfigConfig.GRAY_700, 12);
- RenderManager.drawHollowRoundRect(vg, x + 351, y + 47, 642, options.length * 36 + 2, new Color(204, 204, 204, 77).getRGB(), 10, 1);
- int optionY = y + 48;
+ RenderManager.drawRoundedRect(vg, x + 352, y + 48, 640, options.length * 32 + 8, OneConfigConfig.GRAY_700, 12);
+ RenderManager.drawHollowRoundRect(vg, x + 351, y + 47, 642, options.length * 32 + 10, new Color(204, 204, 204, 77).getRGB(), 12, 1);
+ int optionY = y + 52;
for (String option : options) {
int color = OneConfigConfig.WHITE_80;
boolean optionHovered = InputUtils.isAreaHovered(x + 352, optionY, 640, 36);
if (optionHovered && Mouse.isButtonDown(0)) {
- RenderManager.drawRoundedRect(vg, x + 356, optionY + 4, 632, 28, OneConfigConfig.BLUE_700_80, 8);
+ RenderManager.drawRoundedRect(vg, x + 356, optionY + 2, 632, 28, OneConfigConfig.BLUE_700_80, 8);
} else if (optionHovered) {
- RenderManager.drawRoundedRect(vg, x + 356, optionY + 4, 632, 28, OneConfigConfig.BLUE_700, 8);
+ RenderManager.drawRoundedRect(vg, x + 356, optionY + 2, 632, 28, OneConfigConfig.BLUE_700, 8);
color = OneConfigConfig.WHITE;
}
- RenderManager.drawString(vg, option, x + 368, optionY + 20, color, 14, Fonts.MEDIUM);
- if (!options[options.length - 1].equals(option))
- RenderManager.drawLine(vg, x + 360, optionY + 36, x + 984, optionY + 36, 1, new Color(204, 204, 204, 77).getRGB());
+ RenderManager.drawString(vg, option, x + 368, optionY + 18, color, 14, Fonts.MEDIUM);
if (optionHovered && InputUtils.isClicked(true)) {
try {
@@ -147,7 +143,7 @@ public class ConfigDropdown extends BasicOption { // TODO: remove dividers and f
opened = false;
InputUtils.blockClicks(false);
}
- optionY += 36;
+ optionY += 32;
}
}
NanoVG.nvgGlobalAlpha(vg, 1f);
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java
index d420f01..dbe0482 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java
@@ -2,12 +2,12 @@ package cc.polyfrost.oneconfig.gui.elements.config;
import cc.polyfrost.oneconfig.config.OneConfigConfig;
import cc.polyfrost.oneconfig.config.interfaces.BasicOption;
+import cc.polyfrost.oneconfig.gui.elements.text.TextInputField;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
-import cc.polyfrost.oneconfig.lwjgl.image.Images;
import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import cc.polyfrost.oneconfig.utils.InputUtils;
-import cc.polyfrost.oneconfig.gui.elements.text.TextInputField;
+import org.lwjgl.input.Mouse;
import org.lwjgl.nanovg.NanoVG;
import java.awt.*;
@@ -37,11 +37,18 @@ public class ConfigTextBox extends BasicOption {
} catch (IllegalAccessException ignored) {
}
+ if (multiLine && textField.getLines() > 2) textField.setHeight(64 + 24 * (textField.getLines() - 2));
+ else if (multiLine) textField.setHeight(64);
textField.draw(vg, x + (size == 1 && hasHalfSize() ? 224 : 352), y);
- if (secure)
- RenderManager.drawSvg(vg, SVGs.EYE, x + 967, y + 7, 18, 18, new Color(196, 196, 196).getRGB());
- if (secure && InputUtils.isAreaClicked(x + 967, y + 7, 18, 18)) textField.setPassword(!textField.getPassword());
+ if (secure) {
+ SVGs icon = textField.getPassword() ? SVGs.EYE_OFF : SVGs.EYE;
+ boolean hovered = InputUtils.isAreaHovered(x + 967, y + 7, 18, 18) && isEnabled();
+ int color = hovered ? OneConfigConfig.WHITE : OneConfigConfig.WHITE_80;
+ if (hovered && InputUtils.isClicked()) textField.setPassword(!textField.getPassword());
+ if (hovered && Mouse.isButtonDown(0)) NanoVG.nvgGlobalAlpha(vg, 0.5f);
+ RenderManager.drawSvg(vg, icon, x + 967, y + 7, 18, 18, color);
+ }
NanoVG.nvgGlobalAlpha(vg, 1f);
}
@@ -57,7 +64,7 @@ public class ConfigTextBox extends BasicOption {
@Override
public int getHeight() {
- return multiLine ? 64 : 32;
+ return multiLine ? textField.getHeight() : 32;
}
@Override