From 28025895e0da1e6079264dbfe951e7fd9bf069d8 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 11 Aug 2019 23:28:33 +0800 Subject: Scrollable Entry List? --- .../me/shedaniel/rei/client/DisplayHelperImpl.java | 91 ---------------------- 1 file changed, 91 deletions(-) delete mode 100644 src/main/java/me/shedaniel/rei/client/DisplayHelperImpl.java (limited to 'src/main/java/me/shedaniel/rei/client/DisplayHelperImpl.java') 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> BOUNDS_HANDLER_COMPARATOR; - private static final DisplayBoundsHandler 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> comparator = Comparator.comparingDouble(DisplayBoundsHandler::getPriority); - BOUNDS_HANDLER_COMPARATOR = comparator.reversed(); - } - - private List> screenDisplayBoundsHandlers = Lists.newArrayList(); - private Map, DisplayBoundsHandler> handlerCache = Maps.newHashMap(); - private BaseBoundsHandler baseBoundsHandler; - - @Override - public List> getSortedBoundsHandlers(Class screenClass) { - return screenDisplayBoundsHandlers.stream().filter(handler -> handler.getBaseSupportedClass().isAssignableFrom(screenClass)).sorted(BOUNDS_HANDLER_COMPARATOR).collect(Collectors.toList()); - } - - @Override - public List> getAllBoundsHandlers() { - return screenDisplayBoundsHandlers; - } - - @Override - public DisplayBoundsHandler getResponsibleBoundsHandler(Class screenClass) { - Optional> 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(); - } - -} -- cgit