From 1a581914e19ba02626edb91995840d579a6e8197 Mon Sep 17 00:00:00 2001 From: bigfoot547 Date: Sun, 16 Jun 2024 12:50:07 -0500 Subject: add per-axis world scale --- .../java/dev/figboot/cuberender/test/TestWindowControl.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/main/java/dev/figboot/cuberender/test/TestWindowControl.java') diff --git a/src/main/java/dev/figboot/cuberender/test/TestWindowControl.java b/src/main/java/dev/figboot/cuberender/test/TestWindowControl.java index 9c8d2b0..2076fbc 100644 --- a/src/main/java/dev/figboot/cuberender/test/TestWindowControl.java +++ b/src/main/java/dev/figboot/cuberender/test/TestWindowControl.java @@ -9,6 +9,8 @@ import javax.swing.border.LineBorder; import javax.swing.event.ChangeEvent; import java.awt.*; import java.awt.event.ActionEvent; +import java.awt.event.ComponentAdapter; +import java.awt.event.ComponentEvent; import java.util.EnumMap; import java.util.Map; @@ -142,6 +144,16 @@ class TestWindowControl extends JFrame { setResizable(false); setLocationRelativeTo(null); + graphicsPanel.addComponentListener(new ComponentAdapter() { + @Override + public void componentResized(ComponentEvent e) { + float aspect = (float)graphicsPanel.getWidth() / graphicsPanel.getHeight(); + graphicsPanel.getModel().setWorldScale(0.75f / aspect, 0.75f, 0.75f); + graphicsPanel.getModel().updateTransforms(); + graphicsPanel.repaint(); + } + }); + updateGraphics(true, true); } -- cgit v1.2.3-70-g09d2