Skip to content

Commit 44f1a1e

Browse files
AzureAaronlineargraph
authored andcommitted
Clamp Y position of dropdowns
1 parent 1f134ec commit 44f1a1e

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

common/src/main/java/io/github/notenoughupdates/moulconfig/gui/editors/GuiOptionEditorDropdown.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,17 @@ public boolean mouseEvent(@NotNull MouseEvent mouseEvent, @NotNull GuiImmediateC
175175
if (mouseEvent instanceof MouseEvent.Click && ((MouseEvent.Click) mouseEvent).getMouseState() && context.isHovered()) {
176176
if (!isOverlayOpen()) {
177177
componentWidth = context.getWidth();
178-
openOverlay(dropdownOverlay, context.getRenderOffsetX(), context.getRenderOffsetY());
178+
//Clamp the Y so that the dropdown can't go off the screen
179+
int scaledHeight = context.getRenderContext().getMinecraft().getScaledHeight();
180+
int clampedY;
181+
182+
if (context.getRenderOffsetY() + dropdownOverlay.getHeight() > scaledHeight) {
183+
clampedY = scaledHeight - dropdownOverlay.getHeight();
184+
} else {
185+
clampedY = context.getRenderOffsetY();
186+
}
187+
188+
openOverlay(dropdownOverlay, context.getRenderOffsetX(), clampedY);
179189
}
180190
return true;
181191
}

0 commit comments

Comments
 (0)