From 9e55b44b710f38c63a4bfd17d0b07318d5c68535 Mon Sep 17 00:00:00 2001 From: Daniel She Date: Mon, 25 Feb 2019 21:18:26 +0800 Subject: REI v2.3.1 (#40) - API Changes - Updated Config Screen - Added Tipped Arrows Recipes - Updated Mappings - Added IRecipeHelper - Turning things to Optional - Removed Cheats button, now included with the new config button - Buttons for switching gamemodes / time / weather (default: off) [Maybe not in this update] - Clickable Labels - 3+ recipes at the same time - Fixed RecipeBaseWidget bad rendering when too big - Fixed #42 Patched up item deleting & cheating - Choose Page Dialog --- .../rei/gui/widget/ClickableLabelWidget.java | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java (limited to 'src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java') diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java new file mode 100644 index 000000000..7f7de43d3 --- /dev/null +++ b/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java @@ -0,0 +1,36 @@ +package me.shedaniel.rei.gui.widget; + +import java.awt.*; + +public abstract class ClickableLabelWidget extends LabelWidget implements HighlightableWidget { + + public ClickableLabelWidget(int x, int y, String text) { + super(x, y, text); + } + + @Override + public Rectangle getBounds() { + int width = textRenderer.getStringWidth(text); + return new Rectangle(x - width / 2 - 1, y - 5, width + 2, 14); + } + + @Override + public void draw(int mouseX, int mouseY, float partialTicks) { + int colour = -1; + if (isHighlighted(mouseX, mouseY)) + colour = 16777120; + drawStringCentered(textRenderer, (isHighlighted(mouseX, mouseY) ? "§n" : "") + text, x, y, colour); + } + + @Override + public boolean onMouseClick(int button, double mouseX, double mouseY) { + if (button == 0 && isHighlighted(mouseX, mouseY)) { + onLabelClicked(); + return true; + } + return false; + } + + public abstract void onLabelClicked(); + +} -- cgit