Fixed HexInput and stuff

This commit is contained in:
2026-02-21 22:37:56 +01:00
parent bba12146ea
commit 3db44bab85
4 changed files with 63 additions and 15 deletions
@@ -129,6 +129,26 @@ public abstract class SaturnScreen extends Screen {
return false; return false;
} }
@Override
public boolean mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY) {
mouseX *= 2;
mouseY *= 2;
ElementRenderer.mouseDragged(elements, mouseX, mouseY, button, deltaX, deltaY);
return super.mouseReleased(mouseX, mouseY, button);
}
@Override
public boolean mouseReleased(double mouseX, double mouseY, int button) {
mouseX *= 2;
mouseY *= 2;
ElementRenderer.mouseReleased(elements, mouseX, mouseY, button);
return super.mouseReleased(mouseX, mouseY, button);
}
@Override @Override
public boolean mouseScrolled( public boolean mouseScrolled(
double mouseX, double mouseX,
@@ -44,7 +44,10 @@ public class ElementRenderer {
int adjustedMouseX = (int) mouseX - element.x; int adjustedMouseX = (int) mouseX - element.x;
int adjustedMouseY = (int) mouseY - element.y; int adjustedMouseY = (int) mouseY - element.y;
if (element.opacity > 0 && Utils.isHovering(adjustedMouseX, adjustedMouseY, element.width, element.height, element.scale)) { element.mouseClicked(adjustedMouseX * element.scale, adjustedMouseY * element.scale, button);
if (element.opacity > 0 && Utils.isHovering(adjustedMouseX, adjustedMouseY, element.width,
element.height, element.scale)) {
element.focused = true; element.focused = true;
element.click((int) (adjustedMouseX * element.scale), (int) (adjustedMouseY * element.scale)); element.click((int) (adjustedMouseX * element.scale), (int) (adjustedMouseY * element.scale));
} }
@@ -58,16 +61,17 @@ public class ElementRenderer {
double mouseY, double mouseY,
double horizontalAmount, double horizontalAmount,
double verticalAmount) { double verticalAmount) {
for (Element element : new ArrayList<>(elements)) { for (Element element : new ArrayList<>(elements)) {
if (Utils.isHovering((int) mouseX - element.x, (int) mouseY - element.y, element.width, element.height, element.scale)) { if (Utils.isHovering((int) mouseX - element.x, (int) mouseY - element.y, element.width, element.height,
element.scroll( element.scale)) {
(int) mouseX - element.x, element.scroll(
(int) mouseY - element.y, (int) mouseX - element.x,
horizontalAmount, (int) mouseY - element.y,
verticalAmount); horizontalAmount,
} verticalAmount);
}
} }
}
}
public static void keyPressed(List<Element> elements, int keyCode, int scanCode, int modifiers) { public static void keyPressed(List<Element> elements, int keyCode, int scanCode, int modifiers) {
for (Element element : new ArrayList<>(elements)) { for (Element element : new ArrayList<>(elements)) {
@@ -81,4 +85,17 @@ public class ElementRenderer {
} }
} }
} }
public static void mouseDragged(List<Element> elements, double mouseX, double mouseY, int button, double deltaX,
double deltaY) {
for (Element element : new ArrayList<>(elements)) {
element.mouseDragged(mouseX - element.x, mouseY - element.y, button, deltaX, deltaY);
}
}
public static void mouseReleased(List<Element> elements, double mouseX, double mouseY, int button) {
for (Element element : new ArrayList<>(elements)) {
element.mouseReleased(mouseX - element.x, mouseY - element.y, button);
}
}
} }
@@ -40,15 +40,16 @@ public class HexInput extends Element {
@Override @Override
public void mouseClicked(double mouseX, double mouseY, int button) { public void mouseClicked(double mouseX, double mouseY, int button) {
if (open && mouseX >= width + 8 && mouseX <= width && mouseY >= 0 && mouseY <= height) { if (open) {
handlePickerClick(mouseX - width, mouseY); handlePickerClick(mouseX - width - 8, mouseY);
} }
} }
@Override @Override
public void mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY) { public void mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY) {
if (open) if (open) {
handlePickerDrag(mouseX - width, mouseY); handlePickerDrag(mouseX - width - 8, mouseY);
}
} }
@Override @Override
@@ -117,4 +117,14 @@ public class Scroll extends Element {
public void keyPressed(int keyCode, int scanCode, int modifiers) { public void keyPressed(int keyCode, int scanCode, int modifiers) {
ElementRenderer.keyPressed(children, keyCode, scanCode, modifiers); ElementRenderer.keyPressed(children, keyCode, scanCode, modifiers);
} }
@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);
}
@Override
public void mouseReleased(double mouseX, double mouseY, int button) {
ElementRenderer.mouseReleased(children, mouseX - padding, mouseY - padding + scroll, button);
}
} }