aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/TextInputField.java4
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/config/ConfigPage.java10
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java8
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/pages/ModConfigPage.java11
-rw-r--r--src/main/java/io/polyfrost/oneconfig/test/TestConfig.java24
-rw-r--r--src/main/resources/assets/oneconfig/textures/eye.pngbin0 -> 338 bytes
6 files changed, 32 insertions, 25 deletions
diff --git a/src/main/java/io/polyfrost/oneconfig/gui/elements/TextInputField.java b/src/main/java/io/polyfrost/oneconfig/gui/elements/TextInputField.java
index 6f3c1b4..ef0b5a0 100644
--- a/src/main/java/io/polyfrost/oneconfig/gui/elements/TextInputField.java
+++ b/src/main/java/io/polyfrost/oneconfig/gui/elements/TextInputField.java
@@ -52,6 +52,10 @@ public class TextInputField extends BasicElement {
this.password = password;
}
+ public boolean getPassword() {
+ return password;
+ }
+
@Override
public void draw(long vg, int x, int y) {
this.x = x;
diff --git a/src/main/java/io/polyfrost/oneconfig/gui/elements/config/ConfigPage.java b/src/main/java/io/polyfrost/oneconfig/gui/elements/config/ConfigPage.java
index 5386fc9..65be59f 100644
--- a/src/main/java/io/polyfrost/oneconfig/gui/elements/config/ConfigPage.java
+++ b/src/main/java/io/polyfrost/oneconfig/gui/elements/config/ConfigPage.java
@@ -27,18 +27,18 @@ public class ConfigPage extends BasicOption {
@Override
public void draw(long vg, int x, int y) {
int height = description.equals("") ? 64 : 96;
- NanoVG.nvgScissor(vg, x - 2, y, 1024, height);
+ NanoVG.nvgScissor(vg, x - 16, y, 1024, height);
boolean hovered = InputUtils.isAreaHovered(x - 2, y, 1024, height);
boolean clicked = InputUtils.isAreaClicked(x - 2, y, 1024, height);
backgroundColor = ColorUtils.smoothColor(backgroundColor, OneConfigConfig.GRAY_500, OneConfigConfig.GRAY_400, hovered, 100);
if (clicked) NanoVG.nvgGlobalAlpha(vg, 0.8f);
- RenderManager.drawRoundedRect(vg, x - 2, y, 1024, height, backgroundColor, 20);
- RenderManager.drawString(vg, name, x + 24, y + 32, OneConfigConfig.WHITE, 24, Fonts.INTER_MEDIUM);
+ RenderManager.drawRoundedRect(vg, x - 16, y, 1024, height, backgroundColor, 20);
+ RenderManager.drawString(vg, name, x + 10, y + 32, OneConfigConfig.WHITE, 24, Fonts.INTER_MEDIUM);
if (!description.equals(""))
- RenderManager.drawString(vg, name, x + 24, y + 70, OneConfigConfig.WHITE, 14, Fonts.INTER_MEDIUM);
- RenderManager.drawImage(vg, "/assets/oneconfig/textures/arrow.png", x + 995f, y + (description.equals("") ? 20f : 36f), 13, 22);
+ RenderManager.drawString(vg, name, x + 10, y + 70, OneConfigConfig.WHITE, 14, Fonts.INTER_MEDIUM);
+ RenderManager.drawImage(vg, "/assets/oneconfig/textures/arrow.png", x + 981f, y + (description.equals("") ? 20f : 36f), 13, 22);
if (clicked) OneConfigGui.INSTANCE.openPage(new ModConfigPage(page));
NanoVG.nvgGlobalAlpha(vg, 1f);
diff --git a/src/main/java/io/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java b/src/main/java/io/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java
index 8b96df1..4d44701 100644
--- a/src/main/java/io/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java
+++ b/src/main/java/io/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java
@@ -5,6 +5,7 @@ import io.polyfrost.oneconfig.config.interfaces.BasicOption;
import io.polyfrost.oneconfig.gui.elements.TextInputField;
import io.polyfrost.oneconfig.lwjgl.RenderManager;
import io.polyfrost.oneconfig.lwjgl.font.Fonts;
+import io.polyfrost.oneconfig.utils.InputUtils;
import org.lwjgl.nanovg.NanoVG;
import java.lang.reflect.Field;
@@ -34,11 +35,18 @@ public class ConfigTextBox extends BasicOption {
NanoVG.nvgResetScissor(vg);
textField.draw(vg, x + (size == 1 && hasHalfSize() ? 224 : 352), y);
+
+ if (secure) RenderManager.drawImage(vg, "/assets/oneconfig/textures/eye.png", x + 967, y + 7, 18, 18);
+ if (secure && InputUtils.isAreaClicked(x + 967, y + 7, 18, 18)) textField.setPassword(!textField.getPassword());
}
@Override
public void keyTyped(char key, int keyCode) {
textField.keyTyped(key, keyCode);
+ try {
+ set(textField.getInput());
+ } catch (IllegalAccessException ignored) {
+ }
}
@Override
diff --git a/src/main/java/io/polyfrost/oneconfig/gui/pages/ModConfigPage.java b/src/main/java/io/polyfrost/oneconfig/gui/pages/ModConfigPage.java
index 3bae729..9d5dd6e 100644
--- a/src/main/java/io/polyfrost/oneconfig/gui/pages/ModConfigPage.java
+++ b/src/main/java/io/polyfrost/oneconfig/gui/pages/ModConfigPage.java
@@ -5,6 +5,7 @@ import io.polyfrost.oneconfig.config.data.OptionPage;
import io.polyfrost.oneconfig.config.interfaces.BasicOption;
import io.polyfrost.oneconfig.lwjgl.RenderManager;
import io.polyfrost.oneconfig.lwjgl.font.Fonts;
+import org.lwjgl.nanovg.NanoVG;
public class ModConfigPage extends Page {
private final OptionPage page;
@@ -17,12 +18,13 @@ public class ModConfigPage extends Page {
@Override
public void draw(long vg, int x, int y) {
if (page.categories.size() == 0) return;
+ NanoVG.nvgScissor(vg, x + 14, y, 1056, 800);
String selectedCategory = page.categories.keySet().stream().findFirst().get();
int optionX = x + 30;
int optionY = y + (page.categories.size() == 1 ? 32 : 72);
for (String subCategory : page.categories.get(selectedCategory).keySet()) {
RenderManager.drawString(vg, subCategory, x + 18, optionY, OneConfigConfig.WHITE, 24f, Fonts.INTER_MEDIUM);
- optionY += 20;
+ optionY += 26;
int backgroundSize = 32;
for (int i = 0; i < page.categories.get(selectedCategory).get(subCategory).size(); i++) {
@@ -35,9 +37,9 @@ public class ModConfigPage extends Page {
continue;
}
}
- backgroundSize += option.getHeight();
+ backgroundSize += option.getHeight() + 16;
}
- RenderManager.drawRoundedRect(vg, x + 14, optionY, 1024, backgroundSize, OneConfigConfig.GRAY_900, 20);
+ RenderManager.drawRoundedRect(vg, x + 14, optionY, 1024, backgroundSize - 16, OneConfigConfig.GRAY_900, 20);
optionY += 16;
for (int i = 0; i < page.categories.get(selectedCategory).get(subCategory).size(); i++) {
@@ -54,8 +56,9 @@ public class ModConfigPage extends Page {
}
optionY += option.getHeight() + 16;
}
- optionY += 8;
+ optionY += 28;
}
+ NanoVG.nvgResetScissor(vg);
}
@Override
diff --git a/src/main/java/io/polyfrost/oneconfig/test/TestConfig.java b/src/main/java/io/polyfrost/oneconfig/test/TestConfig.java
index a7b7b90..fc8296d 100644
--- a/src/main/java/io/polyfrost/oneconfig/test/TestConfig.java
+++ b/src/main/java/io/polyfrost/oneconfig/test/TestConfig.java
@@ -9,35 +9,35 @@ import io.polyfrost.oneconfig.config.interfaces.Config;
public class TestConfig extends Config {
@Option(
- name = "Test switch",
+ name = "Test checkbox",
description = "Best description",
subcategory = "Test",
- type = OptionType.SWITCH
+ type = OptionType.CHECKBOX
)
public static boolean switchTest;
@Option(
- name = "Test switch",
+ name = "Test checkbox",
description = "Best description",
subcategory = "Test",
- type = OptionType.SWITCH
+ type = OptionType.CHECKBOX
)
public static boolean switchTest1;
@Option(
- name = "Test switch",
+ name = "Test checkbox",
description = "Best description",
subcategory = "Test",
- type = OptionType.SWITCH,
+ type = OptionType.CHECKBOX,
size = 2
)
public static boolean switchTest2;
@Option(
- name = "Test switch",
+ name = "Test checkbox",
description = "Best description",
subcategory = "Test",
- type = OptionType.SWITCH
+ type = OptionType.CHECKBOX
)
public static boolean switchTest3;
@@ -49,14 +49,6 @@ public class TestConfig extends Config {
public static TestPage testPage = new TestPage();
@Option(
- name = "Test Page But better",
- type = OptionType.PAGE,
- subcategory = "Test",
- description = "The best page to have ever existed"
- )
- public static TestPage testPage2 = new TestPage();
-
- @Option(
name = "Test switch",
description = "Best description",
subcategory = "Other subcategory",
diff --git a/src/main/resources/assets/oneconfig/textures/eye.png b/src/main/resources/assets/oneconfig/textures/eye.png
new file mode 100644
index 0000000..38a5126
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/textures/eye.png
Binary files differ