Keybinding selector and select
This commit is contained in:
@@ -2,15 +2,13 @@ package org.saturnclient.ui2.components.inputs;
|
|||||||
|
|
||||||
import org.lwjgl.glfw.GLFW;
|
import org.lwjgl.glfw.GLFW;
|
||||||
import org.saturnclient.saturnclient.config.Property;
|
import org.saturnclient.saturnclient.config.Property;
|
||||||
import org.saturnclient.saturnclient.config.ThemeManager;
|
import org.saturnclient.saturnclient.config.Theme;
|
||||||
import org.saturnclient.ui2.Element;
|
import org.saturnclient.ui2.Element;
|
||||||
import org.saturnclient.ui2.ElementContext;
|
import org.saturnclient.ui2.ElementContext;
|
||||||
import org.saturnclient.ui2.RenderScope;
|
import org.saturnclient.ui2.RenderScope;
|
||||||
import org.saturnclient.ui2.resources.Fonts;
|
import org.saturnclient.ui2.resources.Fonts;
|
||||||
|
|
||||||
public class KeybindingSelector extends Element {
|
public class KeybindingSelector extends Element {
|
||||||
private static ThemeManager theme = new ThemeManager("Input");
|
|
||||||
private static Property<Integer> font = theme.property("font", Property.font(1));
|
|
||||||
Property<Integer> prop;
|
Property<Integer> prop;
|
||||||
|
|
||||||
public KeybindingSelector(Property<Integer> prop) {
|
public KeybindingSelector(Property<Integer> prop) {
|
||||||
@@ -25,7 +23,7 @@ public class KeybindingSelector extends Element {
|
|||||||
renderScope.drawRoundedRectangle(0, 0, width, height, 10, 0xFF000000);
|
renderScope.drawRoundedRectangle(0, 0, width, height, 10, 0xFF000000);
|
||||||
renderScope.drawText(0.6f, prop.value == -1 ? "<NONE>" :
|
renderScope.drawText(0.6f, prop.value == -1 ? "<NONE>" :
|
||||||
GLFW.glfwGetKeyName(prop.value, GLFW.glfwGetKeyScancode(prop.value)).toUpperCase(),
|
GLFW.glfwGetKeyName(prop.value, GLFW.glfwGetKeyScancode(prop.value)).toUpperCase(),
|
||||||
4, 4, font.value, textColor);
|
4, 4, Theme.FONT.value, textColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package org.saturnclient.ui2.components.inputs;
|
package org.saturnclient.ui2.components.inputs;
|
||||||
|
|
||||||
import org.saturnclient.saturnclient.config.Property;
|
import org.saturnclient.saturnclient.config.Property;
|
||||||
import org.saturnclient.saturnclient.config.ThemeManager;
|
import org.saturnclient.saturnclient.config.Theme;
|
||||||
import org.saturnclient.ui2.Element;
|
import org.saturnclient.ui2.Element;
|
||||||
import org.saturnclient.ui2.ElementContext;
|
import org.saturnclient.ui2.ElementContext;
|
||||||
import org.saturnclient.ui2.RenderScope;
|
import org.saturnclient.ui2.RenderScope;
|
||||||
@@ -10,11 +10,6 @@ import org.saturnclient.ui2.resources.Fonts;
|
|||||||
import net.minecraft.client.render.RenderLayer;
|
import net.minecraft.client.render.RenderLayer;
|
||||||
|
|
||||||
public class Select extends Element {
|
public class Select extends Element {
|
||||||
private static ThemeManager theme = new ThemeManager("Toggle");
|
|
||||||
private static Property<Integer> fgColor = theme.property("fg-color", Property.color(0xAAAAAA));
|
|
||||||
private static Property<Integer> arrowColor = theme.property("arrow-color", Property.color(0xff8B5CF6));
|
|
||||||
private static Property<Integer> font = theme.property("font", Property.font(1));
|
|
||||||
|
|
||||||
private Property<Integer> prop;
|
private Property<Integer> prop;
|
||||||
|
|
||||||
public Select(Property<Integer> prop) {
|
public Select(Property<Integer> prop) {
|
||||||
@@ -27,15 +22,14 @@ public class Select extends Element {
|
|||||||
public void render(RenderScope renderScope, ElementContext ctx) {
|
public void render(RenderScope renderScope, ElementContext ctx) {
|
||||||
renderScope.setRenderLayer(RenderLayer::getGuiTextured);
|
renderScope.setRenderLayer(RenderLayer::getGuiTextured);
|
||||||
|
|
||||||
renderScope.drawText(0.8f, "<", 0, 0, font.value, arrowColor.value);
|
renderScope.drawText(0.8f, "<", 0, 0, Theme.FONT.value, Theme.FOREGROUND.value);
|
||||||
|
|
||||||
String text = prop.getSelection();
|
String text = prop.getSelection();
|
||||||
|
|
||||||
renderScope.drawText(0.6f, text, (int) (width - ((float) Fonts.getWidth(text, font.value) * 0.6f)) / 2, 1, font.value, fgColor.value);
|
renderScope.drawText(0.6f, text, (int) (width - ((float) Fonts.getWidth(text, Theme.FONT.value) * 0.6f)) / 2, 1,
|
||||||
|
Theme.FONT.value, Theme.FOREGROUND.value);
|
||||||
|
|
||||||
renderScope.drawText(0.8f, ">", width - 10, 0, font.value, arrowColor.value);
|
renderScope.drawText(0.8f, ">", width - 10, 0, Theme.FONT.value, Theme.FOREGROUND.value);
|
||||||
|
|
||||||
theme.setState(null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user