From 14dce5cc420544c52bf7b36b4b8e54a7139afda0 Mon Sep 17 00:00:00 2001 From: Leo dev Date: Thu, 20 Mar 2025 13:45:11 +0100 Subject: [PATCH] added toggle component --- .../java/org/saturnclient/ui/Textures.java | 6 ++- .../ui/components/SaturnToggle.java | 39 ++++++++++++++++++ .../textures/gui/components/toggle_bg.png | Bin 0 -> 427 bytes .../gui/components/toggle_indicator.png | Bin 0 -> 477 bytes 4 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 src/main/java/org/saturnclient/ui/components/SaturnToggle.java create mode 100644 src/main/resources/assets/saturnclient/textures/gui/components/toggle_bg.png create mode 100644 src/main/resources/assets/saturnclient/textures/gui/components/toggle_indicator.png diff --git a/src/main/java/org/saturnclient/ui/Textures.java b/src/main/java/org/saturnclient/ui/Textures.java index 8404023..360679e 100644 --- a/src/main/java/org/saturnclient/ui/Textures.java +++ b/src/main/java/org/saturnclient/ui/Textures.java @@ -8,8 +8,10 @@ public class Textures { public static final Identifier SEARCH = Identifier.of("saturnclient", "textures/gui/components/search.png"); public static final Identifier CLOSE = Identifier.of("saturnclient", "textures/gui/components/close.png"); public static final Identifier MODS_TAB = Identifier.of("saturnclient", "textures/gui/components/mods_tab.png"); - public static final Identifier SETTINGS = Identifier.of("saturnclient", - "textures/gui/components/settings.png"); + public static final Identifier SETTINGS = Identifier.of("saturnclient", "textures/gui/components/settings.png"); + public static final Identifier TOGGLE_INDICATOR = Identifier.of("saturnclient", "textures/gui/components/toggle_indicator.png"); + public static final Identifier TOGGLE_BG = Identifier.of("saturnclient", "textures/gui/components/toggle_bg.png"); + public static final Identifier LOGO = Identifier.of("saturnclient", "textures/logo/logo.png"); public static final Identifier LOGO_TEXT = Identifier.of("saturnclient", "textures/logo/text.png"); diff --git a/src/main/java/org/saturnclient/ui/components/SaturnToggle.java b/src/main/java/org/saturnclient/ui/components/SaturnToggle.java new file mode 100644 index 0000000..196e3b8 --- /dev/null +++ b/src/main/java/org/saturnclient/ui/components/SaturnToggle.java @@ -0,0 +1,39 @@ +package org.saturnclient.ui.components; + +import org.saturnclient.saturnclient.SaturnClient; +import org.saturnclient.saturnclient.config.Property; +import org.saturnclient.ui.SaturnWidget; +import org.saturnclient.ui.Textures; + +import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.render.RenderLayer; +import net.minecraft.util.math.ColorHelper; + +public class SaturnToggle extends SaturnWidget { + Property prop; + + public SaturnToggle(Property prop) { + this.prop = prop; + width = 16; + height = 8; + } + + @Override + public void render(DrawContext context, boolean hovering, int mouseX, int mouseY) { + int color = prop.value ? SaturnClient.COLOR : ColorHelper.getWhite(alpha); + int w = 16; + int h = 6; + int s = 8; + + context.drawTexture(RenderLayer::getGuiTextured, Textures.TOGGLE_BG, x, + y + 1, 0, 0, w, h, w, h, color); + + context.drawTexture(RenderLayer::getGuiTextured, Textures.TOGGLE_INDICATOR, prop.value ? x + 8 : x, + y, 0, 0, s, s, s, s, color); + } + + @Override + public void click(int mouseX, int mouseY) { + prop.value = !prop.value; + } +} diff --git a/src/main/resources/assets/saturnclient/textures/gui/components/toggle_bg.png b/src/main/resources/assets/saturnclient/textures/gui/components/toggle_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..34150fbd058ab1f4116c713e50572754569ff883 GIT binary patch literal 427 zcmV;c0aX5pP)X1^@s6f#@jV00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP7@p zA8;5l8b}Le#grz@A19v-pm+%%A#G%Wk2hJo2wy&R@nS@+{diMkKv?rjq?h(pXgPGX zC&Ua$an08ut=i<_!q?xxCO^u67VI*xZosb$_=a7Y+5?U-Oa|k83}BpKmx~NI!!8FI zu!CLJE;K#%u*rYMfsq~Sykh^WQ9(*600-LEd1$8xdNv> VT=_v_$~^!8002ovPDHLkV1n8KuMz+N literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/saturnclient/textures/gui/components/toggle_indicator.png b/src/main/resources/assets/saturnclient/textures/gui/components/toggle_indicator.png new file mode 100644 index 0000000000000000000000000000000000000000..2a50191aa2a9ae1a9ae4113787c53120ddb3ad22 GIT binary patch literal 477 zcmV<30V4j1P)500009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP$#k^`~tlO6~p;PLR! z8G}fOXwSQ6R>`tn0q6C@`ZC5Gu{LaA!>U*<#nG@nSQblJU}B02w<2%j-)v19icN_x zC~2KErjYxV8jM^uWX7L{ci*fH?$4R^$UV+s#!Q31UG?5L^oGP3ih+?Tu@U&^y@Uhf zjmXIcd5~1Ll1@nG_Ay{N(muO%LNck_%9t}J^H5Mf*I495M*6*crUP_v5HmaIU?*lQ zbYP8)%}_!CMW{35paZAQ%n3R;iJ2NYsKeaUB27UxhvT_v8+y|_@^X|-NJdhTnLAfH zQqOb^7{2VwmCjqJgD*9(Pe+Pzi*$5tB^+EvV4uzt`Z6#D;d%IH#v5`-W2iGST&B!I zT2_<;Lps*lBU7)moYvoG`OraqN}m*;RFnyWNT^>;ND(i!v&HnEE17)j*gsdlFXvaE TtktHu00000NkvXXu0mjf)&a-F literal 0 HcmV?d00001