Working UI

This commit is contained in:
2026-03-06 12:40:06 +01:00
parent d8e8f21ed6
commit c7694a54bb
4 changed files with 38 additions and 17 deletions
@@ -6,6 +6,7 @@ import org.saturnclient.common.minecraft.bindings.SaturnIdentifier;
import org.saturnclient.ui.Element;
import org.saturnclient.ui.ElementContext;
import org.saturnclient.ui.RenderScope;
import org.saturnclient.ui.resources.SvgTexture;
public class ImageTexture extends Element {
SaturnIdentifier sprite;
@@ -16,17 +17,22 @@ public class ImageTexture extends Element {
@Override
public void render(RenderScope renderScope, ElementContext ctx) {
// if (sprite.toString().endsWith(".svg")) {
// IMinecraftClient client = MinecraftProvider.PROVIDER.getClient();
if (sprite.toString().endsWith(".svg")) {
IMinecraftClient client = MinecraftProvider.PROVIDER.getClient();
// // Get the actual window pixel dimensions for the image
// int renderWidth = (int) (width * client.getWindow().getFramebufferWidth() / client.getWindow().getWidth());
// int renderHeight = (int) (height * client.getWindow().getFramebufferHeight()
// / client.getWindow().getHeight());
int renderWidth = (int) (width * client.getWindow().getFramebufferWidth() / client.getWindow().getWidth());
int renderHeight = (int) (height * client.getWindow().getFramebufferHeight()
/ client.getWindow().getHeight());
// sprite = SvgTexture.getSvg(client, sprite, renderWidth * 2, renderHeight * 2);
// }
SaturnIdentifier pngId = SvgTexture.getSvg(client, sprite, renderWidth * 2, renderHeight * 2);
renderScope.drawTexture(sprite, 0, 0, 0, 0, width, height);
this.sprite = pngId;
if (pngId == null) {
System.err.println("Failed to render SVG: " + sprite);
return;
}
}
renderScope.drawTexture(this.sprite, 0, 0, 0, 0, width, height);
}
}
@@ -7,6 +7,7 @@ import org.saturnclient.config.Theme;
import org.saturnclient.config.manager.Property;
import org.saturnclient.ui.Element;
import org.saturnclient.ui.ElementContext;
import org.saturnclient.ui.ElementRenderer;
import org.saturnclient.ui.RenderScope;
public class Scroll extends Element {
@@ -25,7 +26,7 @@ public class Scroll extends Element {
}
public void draw(Element element) {
// ElementRenderer.draw(children, element);
ElementRenderer.INSTANCE.draw(children, element);
}
@Override
@@ -39,9 +40,9 @@ public class Scroll extends Element {
renderScope.getMatrixStack().push();
renderScope.getMatrixStack().translate(padding, -scroll + padding, 0);
// ElementRenderer.render(children, ctx.elapsed, renderScope,
// ctx.mouseX - padding,
// ctx.mouseY - padding + scroll);
ElementRenderer.INSTANCE.render(children, ctx.elapsed, renderScope,
ctx.mouseX - padding,
ctx.mouseY - padding + scroll);
renderScope.getMatrixStack().pop();
renderScope.disableScissor();
@@ -110,21 +111,22 @@ public class Scroll extends Element {
@Override
public void keyPressed(int keyCode, int scanCode, int modifiers) {
// ElementRenderer.keyPressed(children, keyCode, scanCode, modifiers);
ElementRenderer.INSTANCE.keyPressed(children, keyCode, scanCode, modifiers);
}
@Override
public void mouseClicked(double mouseX, double mouseY, int button) {
// ElementRenderer.mouseClicked(children, mouseX - padding, mouseY - padding + scroll, button);
ElementRenderer.INSTANCE.mouseClicked(children, mouseX - padding, mouseY - padding + scroll, button);
}
@Override
public void mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY) {
// ElementRenderer.mouseDragged(children, mouseX - padding, mouseY - padding + scroll, button, deltaX, deltaY);
ElementRenderer.INSTANCE.mouseDragged(children, mouseX - padding, mouseY - padding + scroll, button, deltaX,
deltaY);
}
@Override
public void mouseReleased(double mouseX, double mouseY, int button) {
// ElementRenderer.mouseReleased(children, mouseX - padding, mouseY - padding + scroll, button);
ElementRenderer.INSTANCE.mouseReleased(children, mouseX - padding, mouseY - padding + scroll, button);
}
}