aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel/rei/impl/ScreenRegistryImpl.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-03-21 12:23:14 +0800
committershedaniel <daniel@shedaniel.me>2021-03-21 12:23:14 +0800
commit7c4788f86f589d71b319e186fa5d8a468046bcc1 (patch)
treeb87fd23a6d65a96e381c27fe0470d1f50e77a635 /runtime/src/main/java/me/shedaniel/rei/impl/ScreenRegistryImpl.java
parent2c29cac8a5e0878696c8e6635f4e41ed4845b41c (diff)
downloadRoughlyEnoughItems-7c4788f86f589d71b319e186fa5d8a468046bcc1.tar.gz
RoughlyEnoughItems-7c4788f86f589d71b319e186fa5d8a468046bcc1.tar.bz2
RoughlyEnoughItems-7c4788f86f589d71b319e186fa5d8a468046bcc1.zip
Rely on ScreenRegistry more on calculating the bounds
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/impl/ScreenRegistryImpl.java')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/ScreenRegistryImpl.java30
1 files changed, 18 insertions, 12 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/ScreenRegistryImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/ScreenRegistryImpl.java
index ff7dca9a2..781f78bae 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/ScreenRegistryImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/ScreenRegistryImpl.java
@@ -93,25 +93,31 @@ public class ScreenRegistryImpl implements ScreenRegistry {
}
@Override
- public <T extends Screen> Rectangle getOverlayBounds(DisplayPanelLocation location, T screen) {
- Window window = Minecraft.getInstance().getWindow();
- int scaledWidth = window.getGuiScaledWidth();
- int scaledHeight = window.getGuiScaledHeight();
+ public <T extends Screen> Rectangle getScreenBounds(T screen) {
for (OverlayDecider decider : getDeciders(screen)) {
if (decider instanceof DisplayBoundsProvider) {
- Rectangle containerBounds = ((DisplayBoundsProvider<T>) decider).getScreenBounds(screen);
- if (location == DisplayPanelLocation.LEFT) {
- if (containerBounds.x < 10) continue;
- return new Rectangle(2, 0, containerBounds.x - 2, scaledHeight);
- } else {
- if (scaledWidth - containerBounds.getMaxX() < 10) continue;
- return new Rectangle(containerBounds.getMaxX() + 2, 0, scaledWidth - containerBounds.getMaxX() - 4, scaledHeight);
- }
+ return ((DisplayBoundsProvider<T>) decider).getScreenBounds(screen);
}
}
return new Rectangle();
}
+ @Override
+ public <T extends Screen> Rectangle getOverlayBounds(DisplayPanelLocation location, T screen) {
+ Window window = Minecraft.getInstance().getWindow();
+ int scaledWidth = window.getGuiScaledWidth();
+ int scaledHeight = window.getGuiScaledHeight();
+ Rectangle screenBounds = getScreenBounds(screen);
+ if (screenBounds.isEmpty()) return new Rectangle();
+ if (location == DisplayPanelLocation.LEFT) {
+ if (screenBounds.x < 10) return new Rectangle();
+ return new Rectangle(2, 0, screenBounds.x - 2, scaledHeight);
+ } else {
+ if (scaledWidth - screenBounds.getMaxX() < 10) return new Rectangle();
+ return new Rectangle(screenBounds.getMaxX() + 2, 0, scaledWidth - screenBounds.getMaxX() - 4, scaledHeight);
+ }
+ }
+
@Nullable
@Override
public <T extends Screen> EntryStack<?> getFocusedStack(T screen, Point mouse) {