aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/gui/widget
diff options
context:
space:
mode:
authorDaniel She <shekwancheung0528@gmail.com>2019-05-12 10:55:21 +0800
committerDaniel She <shekwancheung0528@gmail.com>2019-05-12 10:55:21 +0800
commitf51e5af85e26f588cbe2eba2eef728e783201bc8 (patch)
treee490afcfe8974af8a6c65954667bf822505224d4 /src/main/java/me/shedaniel/rei/gui/widget
parent64c240a5a5eb6b4312b86e24ddbaaa70ada49359 (diff)
parentb99108611ea89dc0eda6c433447ce398a98ad4ad (diff)
downloadRoughlyEnoughItems-f51e5af85e26f588cbe2eba2eef728e783201bc8.tar.gz
RoughlyEnoughItems-f51e5af85e26f588cbe2eba2eef728e783201bc8.tar.bz2
RoughlyEnoughItems-f51e5af85e26f588cbe2eba2eef728e783201bc8.zip
Merge branch '1.14-dev' into 1.14
Diffstat (limited to 'src/main/java/me/shedaniel/rei/gui/widget')
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java31
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/CategoryBaseWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/DetailedButtonWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/DraggableWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/HighlightableWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/LabelWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/QueuedTooltip.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/RecipeChoosePageWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/SearchFieldWidget.java8
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/SlotBaseWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/Widget.java16
20 files changed, 126 insertions, 14 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java
index 9ad51e516..bfc2f948f 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java
@@ -1,12 +1,17 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import com.mojang.blaze3d.platform.GlStateManager;
import me.shedaniel.rei.client.ScreenHelper;
import net.minecraft.client.audio.PositionedSoundInstance;
import net.minecraft.client.gui.Element;
-import net.minecraft.client.gui.widget.AbstractButtonWidget;
import net.minecraft.sound.SoundEvents;
import net.minecraft.text.TextComponent;
+import net.minecraft.util.Identifier;
import net.minecraft.util.math.MathHelper;
import java.awt.*;
@@ -16,6 +21,7 @@ import java.util.Optional;
public abstract class ButtonWidget extends HighlightableWidget {
+ public static final Identifier BUTTON_LOCATION = new Identifier("roughlyenoughitems", "textures/gui/button.png");
public String text;
public boolean enabled;
public boolean focused;
@@ -57,25 +63,26 @@ public abstract class ButtonWidget extends HighlightableWidget {
@Override
public void render(int mouseX, int mouseY, float delta) {
int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height;
- minecraft.getTextureManager().bindTexture(AbstractButtonWidget.WIDGETS_LOCATION);
+ minecraft.getTextureManager().bindTexture(BUTTON_LOCATION);
GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
int textureOffset = this.getTextureId(isHovered(mouseX, mouseY));
GlStateManager.enableBlend();
GlStateManager.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);
//Four Corners
- this.blit(x, y, 0, 46 + textureOffset * 20, 4, 4);
- this.blit(x + width - 4, y, 196, 46 + textureOffset * 20, 4, 4);
- this.blit(x, y + height - 4, 0, 62 + textureOffset * 20, 4, 4);
- this.blit(x + width - 4, y + height - 4, 196, 62 + textureOffset * 20, 4, 4);
+ blit(x, y, 0, textureOffset * 80, 4, 4);
+ blit(x + width - 4, y, 252, textureOffset * 80, 4, 4);
+ blit(x, y + height - 4, 0, textureOffset * 80 + 76, 4, 4);
+ blit(x + width - 4, y + height - 4, 252, textureOffset * 80 + 76, 4, 4);
//Sides
- this.blit(x + 4, y, 4, 46 + textureOffset * 20, width - 8, 4);
- this.blit(x + 4, y + height - 4, 4, 62 + textureOffset * 20, width - 8, 4);
-
- for(int i = y + 4; i < y + height - 4; i += 4) {
- this.blit(x, i, 0, 50 + textureOffset * 20, MathHelper.ceil(width / 2f), MathHelper.clamp(y + height - 4 - i, 0, 4));
- this.blit(x + MathHelper.ceil(width / 2f), i, 200 - MathHelper.floor(width / 2f), 50 + textureOffset * 20, MathHelper.floor(width / 2f), MathHelper.clamp(y + height - 4 - i, 0, 4));
+ blit(x + 4, y, 4, textureOffset * 80, MathHelper.ceil((width - 8) / 2f), 4);
+ blit(x + 4, y + height - 4, 4, textureOffset * 80 + 76, MathHelper.ceil((width - 8) / 2f), 4);
+ blit(x + 4 + MathHelper.ceil((width - 8) / 2f), y + height - 4, 252 - MathHelper.floor((width - 8) / 2f), textureOffset * 80 + 76, MathHelper.floor((width - 8) / 2f), 4);
+ blit(x + 4 + MathHelper.ceil((width - 8) / 2f), y, 252 - MathHelper.floor((width - 8) / 2f), textureOffset * 80, MathHelper.floor((width - 8) / 2f), 4);
+ for(int i = y + 4; i < y + height - 4; i += 76) {
+ blit(x, i, 0, 4 + textureOffset * 80, MathHelper.ceil(width / 2f), MathHelper.clamp(y + height - 4 - i, 0, 76));
+ blit(x + MathHelper.ceil(width / 2f), i, 256 - MathHelper.floor(width / 2f), 4 + textureOffset * 80, MathHelper.floor(width / 2f), MathHelper.clamp(y + height - 4 - i, 0, 76));
}
int colour = 14737632;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/CategoryBaseWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/CategoryBaseWidget.java
index eb039535e..ecf645a8b 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/CategoryBaseWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/CategoryBaseWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import java.awt.*;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
index 2ffa42c9c..8a6ccdc76 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import me.shedaniel.rei.client.ScreenHelper;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java
index a2731c692..767989d86 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import com.mojang.blaze3d.platform.GlStateManager;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/DetailedButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/DetailedButtonWidget.java
index a3f4308e8..02f8cfbd1 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/DetailedButtonWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/DetailedButtonWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import net.minecraft.text.TextComponent;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/DraggableWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/DraggableWidget.java
index afcec07f7..76b1c2171 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/DraggableWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/DraggableWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import me.shedaniel.cloth.api.ClientUtils;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/HighlightableWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/HighlightableWidget.java
index 82f97ab33..8d6bb3578 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/HighlightableWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/HighlightableWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import java.awt.*;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
index 3286c15c9..83457b659 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import com.google.common.collect.Lists;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
index 7509c45df..c5bdb84c2 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import me.shedaniel.rei.api.Renderer;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/LabelWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/LabelWidget.java
index 90d96d5a7..4f6fb54b7 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/LabelWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/LabelWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import net.minecraft.client.gui.Element;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/QueuedTooltip.java b/src/main/java/me/shedaniel/rei/gui/widget/QueuedTooltip.java
index 96e805d8d..f692a848f 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/QueuedTooltip.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/QueuedTooltip.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java
index cd294dc69..b21127cb6 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import com.mojang.blaze3d.platform.GlStateManager;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/RecipeChoosePageWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/RecipeChoosePageWidget.java
index baf2f6449..1d65feb3f 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/RecipeChoosePageWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/RecipeChoosePageWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import com.google.common.collect.Lists;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/SearchFieldWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/SearchFieldWidget.java
index 13989fe3b..f5442eb14 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/SearchFieldWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/SearchFieldWidget.java
@@ -1,10 +1,14 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import com.mojang.blaze3d.platform.GlStateManager;
import net.minecraft.client.audio.PositionedSoundInstance;
import net.minecraft.client.render.GuiLighting;
import net.minecraft.sound.SoundEvents;
-import org.lwjgl.glfw.GLFW;
public class SearchFieldWidget extends TextFieldWidget {
@@ -54,7 +58,7 @@ public class SearchFieldWidget extends TextFieldWidget {
@Override
public boolean keyPressed(int int_1, int int_2, int int_3) {
if (this.isVisible() && this.isFocused())
- if (int_1 == GLFW.GLFW_KEY_ENTER || int_1 == GLFW.GLFW_KEY_KP_ENTER) {
+ if (int_1 == 257 || int_1 == 335) {
setFocused(false);
return true;
}
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/SlotBaseWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/SlotBaseWidget.java
index 74c862dc9..3e9ef5e17 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/SlotBaseWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/SlotBaseWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import java.awt.*;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java
index bbf0c6c08..d89cef8c4 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import com.google.common.collect.Lists;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java
index b3b43eff5..948c621a4 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import me.shedaniel.rei.api.RecipeDisplay;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java
index 3f43eb156..2ae47fca2 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import com.mojang.blaze3d.platform.GlStateManager;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java
index 4a80de779..e470e16e8 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import com.google.common.base.Predicates;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/Widget.java b/src/main/java/me/shedaniel/rei/gui/widget/Widget.java
index 36afd416e..d7e47da15 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/Widget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/Widget.java
@@ -1,3 +1,8 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
package me.shedaniel.rei.gui.widget;
import net.minecraft.client.MinecraftClient;
@@ -5,9 +10,20 @@ import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.AbstractParentElement;
import net.minecraft.client.gui.Drawable;
+/**
+ * The base class for a screen widget
+ *
+ * @see HighlightableWidget for a widget with bounds
+ */
public abstract class Widget extends AbstractParentElement implements Drawable {
+ /**
+ * The Minecraft Client instance
+ */
protected final MinecraftClient minecraft = MinecraftClient.getInstance();
+ /**
+ * The font for rendering text
+ */
protected final TextRenderer font = minecraft.textRenderer;
}