aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/client/DisplayHelperImpl.java
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-08-11 23:28:33 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-08-11 23:28:33 +0800
commit28025895e0da1e6079264dbfe951e7fd9bf069d8 (patch)
treebd28e2f6bf02a2806c4b7802fac912ed43444e43 /src/main/java/me/shedaniel/rei/client/DisplayHelperImpl.java
parent019aa13875ca639dda2f34c66e3160f72b923cfd (diff)
downloadRoughlyEnoughItems-28025895e0da1e6079264dbfe951e7fd9bf069d8.tar.gz
RoughlyEnoughItems-28025895e0da1e6079264dbfe951e7fd9bf069d8.tar.bz2
RoughlyEnoughItems-28025895e0da1e6079264dbfe951e7fd9bf069d8.zip
Scrollable Entry List?
Diffstat (limited to 'src/main/java/me/shedaniel/rei/client/DisplayHelperImpl.java')
-rw-r--r--src/main/java/me/shedaniel/rei/client/DisplayHelperImpl.java91
1 files changed, 0 insertions, 91 deletions
diff --git a/src/main/java/me/shedaniel/rei/client/DisplayHelperImpl.java b/src/main/java/me/shedaniel/rei/client/DisplayHelperImpl.java
deleted file mode 100644
index ac6d581bf..000000000
--- a/src/main/java/me/shedaniel/rei/client/DisplayHelperImpl.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Roughly Enough Items by Danielshe.
- * Licensed under the MIT License.
- */
-
-package me.shedaniel.rei.client;
-
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import me.shedaniel.rei.api.BaseBoundsHandler;
-import me.shedaniel.rei.api.DisplayHelper;
-
-import java.awt.*;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
-public class DisplayHelperImpl implements DisplayHelper {
-
- private static final Comparator<DisplayBoundsHandler<?>> BOUNDS_HANDLER_COMPARATOR;
- private static final DisplayBoundsHandler<Object> EMPTY = new DisplayBoundsHandler() {
- @Override
- public Class getBaseSupportedClass() {
- return null;
- }
-
- @Override
- public Rectangle getLeftBounds(Object screen) {
- return new Rectangle();
- }
-
- @Override
- public Rectangle getRightBounds(Object screen) {
- return new Rectangle();
- }
-
- @Override
- public float getPriority() {
- return -10f;
- }
- };
-
- static {
- Comparator<DisplayBoundsHandler<?>> comparator = Comparator.comparingDouble(DisplayBoundsHandler::getPriority);
- BOUNDS_HANDLER_COMPARATOR = comparator.reversed();
- }
-
- private List<DisplayBoundsHandler<?>> screenDisplayBoundsHandlers = Lists.newArrayList();
- private Map<Class<?>, DisplayBoundsHandler<?>> handlerCache = Maps.newHashMap();
- private BaseBoundsHandler baseBoundsHandler;
-
- @Override
- public List<DisplayBoundsHandler<?>> getSortedBoundsHandlers(Class<?> screenClass) {
- return screenDisplayBoundsHandlers.stream().filter(handler -> handler.getBaseSupportedClass().isAssignableFrom(screenClass)).sorted(BOUNDS_HANDLER_COMPARATOR).collect(Collectors.toList());
- }
-
- @Override
- public List<DisplayBoundsHandler<?>> getAllBoundsHandlers() {
- return screenDisplayBoundsHandlers;
- }
-
- @Override
- public DisplayBoundsHandler<?> getResponsibleBoundsHandler(Class<?> screenClass) {
- Optional<? extends DisplayBoundsHandler<?>> any = handlerCache.entrySet().stream().filter(entry -> entry.getKey().equals(screenClass)).map(Map.Entry::getValue).findAny();
- if (any.isPresent())
- return any.get();
- handlerCache.put(screenClass, screenDisplayBoundsHandlers.stream().filter(handler -> handler.getBaseSupportedClass().isAssignableFrom(screenClass)).sorted(BOUNDS_HANDLER_COMPARATOR).findAny().orElse(EMPTY));
- return handlerCache.get(screenClass);
- }
-
- @Override
- public void registerBoundsHandler(DisplayBoundsHandler<?> handler) {
- screenDisplayBoundsHandlers.add(handler);
- }
-
- @Override
- public BaseBoundsHandler getBaseBoundsHandler() {
- return baseBoundsHandler;
- }
-
- public void setBaseBoundsHandler(BaseBoundsHandler baseBoundsHandler) {
- this.baseBoundsHandler = baseBoundsHandler;
- }
-
- public void resetCache() {
- handlerCache.clear();
- }
-
-}