refresh on resize

This commit is contained in:
2025-04-07 18:06:33 +02:00
parent 4bfcc096de
commit 79e41b1d8b
2 changed files with 27 additions and 8 deletions
@@ -7,6 +7,7 @@ import org.saturnclient.ui.animations.FadeIn;
import org.saturnclient.ui.animations.Slide;
import org.saturnclient.ui.widgets.SaturnButton;
import org.saturnclient.ui.widgets.SaturnImage;
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
import net.minecraft.client.gui.screen.option.OptionsScreen;
import net.minecraft.client.gui.screen.world.SelectWorldScreen;
@@ -23,7 +24,7 @@ public class SaturnTitleScreen extends SaturnUi {
int logoSize = 49;
int bX = (width - 150) / 2;
int bY = height / 2 - logoSize - 24;
int bY = height / 2 - logoSize - 27;
draw(
new SaturnImage(SaturnClientConfig.getLogo())
@@ -31,9 +32,9 @@ public class SaturnTitleScreen extends SaturnUi {
.setY(bY)
.setWidth(logoSize)
.setHeight(logoSize)
.setAnimations(new Slide(2, 14)));
.setAnimations(new Slide(3, 14)));
bY += 41;
bY += 44;
draw(
new SaturnImage(Textures.LOGO_TEXT)
@@ -41,9 +42,9 @@ public class SaturnTitleScreen extends SaturnUi {
.setY(bY)
.setWidth(logoSize)
.setHeight(8)
.setAnimations(new FadeIn(2)));
.setAnimations(new FadeIn(3)));
bY += 12;
bY += 15;
draw(new SaturnButton("SINGLEPLAYER", () -> {
client.setScreen(new SelectWorldScreen(new SaturnTitleScreen()));
@@ -6,6 +6,7 @@ import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gl.PostEffectProcessor;
import net.minecraft.client.gui.CubeMapRenderer;
import net.minecraft.client.gui.DrawContext;
@@ -29,6 +30,8 @@ public class SaturnUi extends Screen {
private float f = 0.0f;
public boolean blur = true;
public boolean titleBackground = false;
public List<SaturnWidget> widgets = new ArrayList<>();
private int tick = 0;
protected static final CubeMapRenderer PANORAMA_RENDERER = new CubeMapRenderer(
Identifier.of("saturnclient", "textures/gui/title/background/panorama"));
@@ -96,9 +99,6 @@ public class SaturnUi extends Screen {
(color & 0x00FFFFFF);
}
public List<SaturnWidget> widgets = new ArrayList<>();
private int tick = 0;
public SaturnUi(Text title) {
super(title);
}
@@ -120,6 +120,18 @@ public class SaturnUi extends Screen {
}
}
public void refresh() {
synchronized (widgets) {
widgets.clear();
f = 0.0f;
tick = 0;
init();
}
}
@SuppressWarnings("deprecation")
@Override
public void render(
DrawContext context,
@@ -301,4 +313,10 @@ public class SaturnUi extends Screen {
tick++;
}
}
@Override
public void resize(MinecraftClient client, int width, int height) {
super.resize(client, width, height);
refresh();
}
}