Przeglądaj źródła

Refractor HighlightableWidget

Unknown 6 lat temu
rodzic
commit
f570c0e34b

+ 3 - 3
src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java

@@ -13,7 +13,7 @@ import me.shedaniel.rei.api.RecipeDisplay;
 import me.shedaniel.rei.client.ScreenHelper;
 import me.shedaniel.rei.gui.config.RecipeScreenType;
 import me.shedaniel.rei.gui.widget.ButtonWidget;
-import me.shedaniel.rei.gui.widget.HighlightableWidget;
+import me.shedaniel.rei.gui.widget.WidgetWithBounds;
 import me.shedaniel.rei.gui.widget.Widget;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.client.gui.Element;
@@ -93,7 +93,7 @@ public class PreRecipeViewingScreen extends Screen {
         return super.keyPressed(int_1, int_2, int_3);
     }
     
-    public class ScreenTypeSelection extends HighlightableWidget {
+    public class ScreenTypeSelection extends WidgetWithBounds {
         
         private Rectangle bounds;
         private int u, v;
@@ -123,7 +123,7 @@ public class PreRecipeViewingScreen extends Screen {
         
         @Override
         public boolean mouseClicked(double double_1, double double_2, int int_1) {
-            if (isHighlighted(double_1, double_2)) {
+            if (containsMouse(double_1, double_2)) {
                 minecraft.getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
                 original = (v == 0);
                 return true;

+ 1 - 1
src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java

@@ -456,7 +456,7 @@ public class RecipeViewingScreen extends Screen {
     @Override
     public boolean mouseClicked(double double_1, double double_2, int int_1) {
         if (choosePageActivated)
-            if (recipeChoosePageWidget.isHighlighted(double_1, double_2)) {
+            if (recipeChoosePageWidget.containsMouse(double_1, double_2)) {
                 return recipeChoosePageWidget.mouseClicked(double_1, double_2, int_1);
             } else {
                 choosePageActivated = false;

+ 1 - 1
src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java

@@ -214,7 +214,7 @@ public class VillagerRecipeViewingScreen extends Screen {
                 GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
                 font.draw((isHovered(mouseX, mouseY) ? Formatting.UNDERLINE.toString() : "") + text, x - font.getStringWidth(text) / 2, y, getDefaultColor());
                 if (clickable && getTooltips().isPresent())
-                    if (!focused && isHighlighted(mouseX, mouseY))
+                    if (!focused && containsMouse(mouseX, mouseY))
                         ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(getTooltips().get().split("\n")));
                     else if (focused)
                         ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(new Point(x, y), getTooltips().get().split("\n")));

+ 2 - 2
src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java

@@ -19,7 +19,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
 
-public abstract class ButtonWidget extends HighlightableWidget {
+public abstract class ButtonWidget extends WidgetWithBounds {
     
     public static final Identifier BUTTON_LOCATION = new Identifier("roughlyenoughitems", "textures/gui/button.png");
     public static final Identifier BUTTON_LOCATION_DARK = new Identifier("roughlyenoughitems", "textures/gui/button_dark.png");
@@ -96,7 +96,7 @@ public abstract class ButtonWidget extends HighlightableWidget {
         this.drawCenteredString(font, text, x + width / 2, y + (height - 8) / 2, colour);
         
         if (getTooltips().isPresent())
-            if (!focused && isHighlighted(mouseX, mouseY))
+            if (!focused && containsMouse(mouseX, mouseY))
                 ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(getTooltips().get().split("\n")));
             else if (focused)
                 ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(new Point(x + width / 2, y + height / 2), getTooltips().get().split("\n")));

+ 3 - 3
src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java

@@ -32,7 +32,7 @@ public abstract class ClickableLabelWidget extends LabelWidget {
             colour = getHoveredColor();
         drawCenteredString(font, (isHovered(mouseX, mouseY) ? Formatting.UNDERLINE.toString() : "") + text, x, y, colour);
         if (clickable && getTooltips().isPresent())
-            if (!focused && isHighlighted(mouseX, mouseY))
+            if (!focused && containsMouse(mouseX, mouseY))
                 ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(getTooltips().get().split("\n")));
             else if (focused)
                 ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(new Point(x, y), getTooltips().get().split("\n")));
@@ -48,7 +48,7 @@ public abstract class ClickableLabelWidget extends LabelWidget {
     
     @Override
     public boolean mouseClicked(double mouseX, double mouseY, int button) {
-        if (button == 0 && clickable && isHighlighted(mouseX, mouseY)) {
+        if (button == 0 && clickable && containsMouse(mouseX, mouseY)) {
             onLabelClicked();
             return true;
         }
@@ -78,7 +78,7 @@ public abstract class ClickableLabelWidget extends LabelWidget {
     }
     
     public boolean isHovered(int mouseX, int mouseY) {
-        return clickable && (isHighlighted(mouseX, mouseY) || focused);
+        return clickable && (containsMouse(mouseX, mouseY) || focused);
     }
     
     public abstract void onLabelClicked();

+ 1 - 1
src/main/java/me/shedaniel/rei/gui/widget/DraggableWidget.java

@@ -12,7 +12,7 @@ import net.minecraft.client.util.Window;
 
 import java.awt.*;
 
-public abstract class DraggableWidget extends HighlightableWidget {
+public abstract class DraggableWidget extends WidgetWithBounds {
     
     public boolean dragged = false;
     private Point midPoint, startPoint;

+ 0 - 31
src/main/java/me/shedaniel/rei/gui/widget/HighlightableWidget.java

@@ -1,31 +0,0 @@
-/*
- * Roughly Enough Items by Danielshe.
- * Licensed under the MIT License.
- */
-
-package me.shedaniel.rei.gui.widget;
-
-import java.awt.*;
-
-public abstract class HighlightableWidget extends Widget {
-    
-    abstract public Shape getBounds();
-    
-    public final boolean isHighlighted(int mouseX, int mouseY) {
-        return isHighlighted((double) mouseX, (double) mouseY);
-    }
-    
-    public final boolean isHighlighted(Point point) {
-        return isHighlighted(point.x, point.y);
-    }
-    
-    public boolean isHighlighted(double mouseX, double mouseY) {
-        return getBounds().contains(mouseX, mouseY);
-    }
-    
-    @Override
-    public boolean isMouseOver(double double_1, double double_2) {
-        return isHighlighted(double_1, double_2);
-    }
-    
-}

+ 1 - 1
src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java

@@ -186,7 +186,7 @@ public class ItemListOverlay extends Widget {
                     
                     @Override
                     public boolean mouseClicked(double mouseX, double mouseY, int button) {
-                        if (isCurrentRendererItem() && isHighlighted(mouseX, mouseY)) {
+                        if (isCurrentRendererItem() && containsMouse(mouseX, mouseY)) {
                             if (ClientHelper.getInstance().isCheating()) {
                                 if (getCurrentItemStack() != null && !getCurrentItemStack().isEmpty()) {
                                     ItemStack cheatedStack = getCurrentItemStack().copy();

+ 1 - 1
src/main/java/me/shedaniel/rei/gui/widget/LabelWidget.java

@@ -11,7 +11,7 @@ import java.awt.*;
 import java.util.Collections;
 import java.util.List;
 
-public class LabelWidget extends HighlightableWidget {
+public class LabelWidget extends WidgetWithBounds {
     
     public int x;
     public int y;

+ 1 - 1
src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java

@@ -16,7 +16,7 @@ import java.awt.*;
 import java.util.Collections;
 import java.util.List;
 
-public class RecipeBaseWidget extends HighlightableWidget {
+public class RecipeBaseWidget extends WidgetWithBounds {
     
     private static final Identifier CHEST_GUI_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer.png");
     private static final Identifier CHEST_GUI_TEXTURE_DARK = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer_dark.png");

+ 1 - 1
src/main/java/me/shedaniel/rei/gui/widget/RecipeChoosePageWidget.java

@@ -64,7 +64,7 @@ public class RecipeChoosePageWidget extends DraggableWidget {
     }
     
     @Override
-    public boolean isHighlighted(double mouseX, double mouseY) {
+    public boolean containsMouse(double mouseX, double mouseY) {
         return getBounds().contains(mouseX, mouseY) || new Rectangle(bounds.x + bounds.width - 50, bounds.y + bounds.height - 3, 50, 36).contains(mouseX, mouseY);
     }
     

+ 1 - 1
src/main/java/me/shedaniel/rei/gui/widget/SearchFieldWidget.java

@@ -40,7 +40,7 @@ public class SearchFieldWidget extends TextFieldWidget {
     
     @Override
     public boolean mouseClicked(double double_1, double double_2, int int_1) {
-        boolean contains = isHighlighted(double_1, double_2);
+        boolean contains = containsMouse(double_1, double_2);
         if (isVisible() && contains && int_1 == 1)
             setText("");
         if (contains && int_1 == 0)

+ 2 - 2
src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java

@@ -23,7 +23,7 @@ import java.util.List;
 import java.util.*;
 import java.util.stream.Collectors;
 
-public class SlotWidget extends HighlightableWidget {
+public class SlotWidget extends WidgetWithBounds {
     
     public static final Identifier RECIPE_GUI = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer.png");
     public static final Identifier RECIPE_GUI_DARK = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer_dark.png");
@@ -115,7 +115,7 @@ public class SlotWidget extends HighlightableWidget {
             minecraft.getTextureManager().bindTexture(darkTheme ? RECIPE_GUI_DARK : RECIPE_GUI);
             blit(this.x - 1, this.y - 1, 0, 222, 18, 18);
         }
-        boolean highlighted = isHighlighted(mouseX, mouseY);
+        boolean highlighted = containsMouse(mouseX, mouseY);
         if (drawHighlightedBackground && highlighted) {
             GlStateManager.disableLighting();
             GlStateManager.disableDepthTest();

+ 2 - 2
src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java

@@ -18,7 +18,7 @@ import java.awt.*;
 import java.util.Collections;
 import java.util.List;
 
-public class TabWidget extends HighlightableWidget {
+public class TabWidget extends WidgetWithBounds {
     
     public static final Identifier CHEST_GUI_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer.png");
     public static final Identifier CHEST_GUI_TEXTURE_DARK = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer_dark.png");
@@ -78,7 +78,7 @@ public class TabWidget extends HighlightableWidget {
             this.blit(bounds.x, bounds.y + 2, selected ? 28 : 0, 192, 28, (selected ? 30 : 27));
             renderer.setBlitOffset(100);
             renderer.render((int) bounds.getCenterX(), (int) bounds.getCenterY(), mouseX, mouseY, delta);
-            if (isHighlighted(mouseX, mouseY)) {
+            if (containsMouse(mouseX, mouseY)) {
                 drawTooltip();
             }
         }

+ 1 - 1
src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java

@@ -22,7 +22,7 @@ import java.util.function.Consumer;
 import java.util.function.Function;
 import java.util.function.Predicate;
 
-public class TextFieldWidget extends HighlightableWidget {
+public class TextFieldWidget extends WidgetWithBounds {
     
     public Function<String, String> stripInvaild;
     protected int focusedTicks;

+ 1 - 1
src/main/java/me/shedaniel/rei/gui/widget/Widget.java

@@ -13,7 +13,7 @@ import net.minecraft.client.gui.Drawable;
 /**
  * The base class for a screen widget
  *
- * @see HighlightableWidget for a widget with bounds
+ * @see WidgetWithBounds for a widget with bounds
  */
 public abstract class Widget extends AbstractParentElement implements Drawable {
     

+ 31 - 0
src/main/java/me/shedaniel/rei/gui/widget/WidgetWithBounds.java

@@ -0,0 +1,31 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
+package me.shedaniel.rei.gui.widget;
+
+import java.awt.*;
+
+public abstract class WidgetWithBounds extends Widget {
+    
+    abstract public Shape getBounds();
+    
+    public final boolean containsMouse(int mouseX, int mouseY) {
+        return containsMouse((double) mouseX, (double) mouseY);
+    }
+    
+    public final boolean containsMouse(Point point) {
+        return containsMouse(point.x, point.y);
+    }
+    
+    public boolean containsMouse(double mouseX, double mouseY) {
+        return getBounds().contains(mouseX, mouseY);
+    }
+    
+    @Override
+    public boolean isMouseOver(double double_1, double double_2) {
+        return containsMouse(double_1, double_2);
+    }
+    
+}