aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2019-11-22 17:23:51 +0800
committershedaniel <daniel@shedaniel.me>2019-11-22 17:23:51 +0800
commit0710ab56e7e8f76670dab785b907ccfe868ad1d5 (patch)
tree6a8e7a6e3586bc0f679b82d5ec3ba791741cb842 /src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
parentd15781a946d797a35fb00c248a3e57e2aa3414b5 (diff)
downloadRoughlyEnoughItems-0710ab56e7e8f76670dab785b907ccfe868ad1d5.tar.gz
RoughlyEnoughItems-0710ab56e7e8f76670dab785b907ccfe868ad1d5.tar.bz2
RoughlyEnoughItems-0710ab56e7e8f76670dab785b907ccfe868ad1d5.zip
3.2.9
Diffstat (limited to 'src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java')
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java53
1 files changed, 37 insertions, 16 deletions
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 14a6b9f83..697d78782 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
@@ -13,17 +13,28 @@ import java.util.Optional;
public abstract class ClickableLabelWidget extends LabelWidget {
public boolean focused;
- public boolean clickable;
- public int hoveredColor;
+ private boolean clickable = true;
+ private int hoveredColor;
+ @Deprecated
public ClickableLabelWidget(int x, int y, String text, boolean clickable) {
- super(x, y, text);
- this.clickable = clickable;
- this.hoveredColor = ScreenHelper.isDarkModeEnabled() ? -1 : 0xFF66FFCC;
+ this(new Point(x, y), text, clickable);
}
+ @Deprecated
public ClickableLabelWidget(int x, int y, String text) {
- this(x, y, text, true);
+ this(new Point(x, y), text, true);
+ }
+
+ @Deprecated
+ public ClickableLabelWidget(Point point, String text, boolean clickable) {
+ this(point, text);
+ clickable(clickable);
+ }
+
+ public ClickableLabelWidget(Point point, String text) {
+ super(point, text);
+ this.hoveredColor = ScreenHelper.isDarkModeEnabled() ? -1 : 0xFF66FFCC;
}
public LabelWidget hoveredColor(int hoveredColor) {
@@ -31,21 +42,31 @@ public abstract class ClickableLabelWidget extends LabelWidget {
return this;
}
+ public LabelWidget clickable(boolean clickable) {
+ this.clickable = clickable;
+ return this;
+ }
+
+ public boolean isClickable() {
+ return clickable;
+ }
+
@Override
public void render(int mouseX, int mouseY, float delta) {
int color = getDefaultColor();
- if (clickable && isHovered(mouseX, mouseY))
+ if (isClickable() && isHovered(mouseX, mouseY))
color = getHoveredColor();
- int width = font.getStringWidth(text);
+ Point pos = getPosition();
+ int width = font.getStringWidth(getText());
if (isHasShadows())
- font.drawWithShadow(text, x - width / 2, y, color);
+ font.drawWithShadow(getText(), pos.x - width / 2, pos.y, color);
else
- font.draw(text, x - width / 2, y, color);
- if (clickable && getTooltips().isPresent())
+ font.draw(getText(), pos.x - width / 2, pos.y, color);
+ if (isClickable() && getTooltips().isPresent())
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")));
+ ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(pos, getTooltips().get().split("\n")));
}
public int getHoveredColor() {
@@ -54,7 +75,7 @@ public abstract class ClickableLabelWidget extends LabelWidget {
@Override
public boolean mouseClicked(double mouseX, double mouseY, int button) {
- if (button == 0 && clickable && containsMouse(mouseX, mouseY)) {
+ if (button == 0 && isClickable() && containsMouse(mouseX, mouseY)) {
onLabelClicked();
return true;
}
@@ -67,7 +88,7 @@ public abstract class ClickableLabelWidget extends LabelWidget {
@Override
public boolean keyPressed(int int_1, int int_2, int int_3) {
- if (!clickable || !focused)
+ if (!isClickable() || !focused)
return false;
if (int_1 != 257 && int_1 != 32 && int_1 != 335)
return false;
@@ -77,14 +98,14 @@ public abstract class ClickableLabelWidget extends LabelWidget {
@Override
public boolean changeFocus(boolean boolean_1) {
- if (!clickable)
+ if (!isClickable())
return false;
this.focused = !this.focused;
return true;
}
public boolean isHovered(int mouseX, int mouseY) {
- return clickable && (containsMouse(mouseX, mouseY) || focused);
+ return isClickable() && (containsMouse(mouseX, mouseY) || focused);
}
public abstract void onLabelClicked();