diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-03-16 10:30:26 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-03-16 10:30:26 +0800 |
| commit | 2405e96d889341b82d00a9103e688d54713f2ce3 (patch) | |
| tree | 54abc6704a56c691bec973c533cefcca77c913d4 /src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java | |
| parent | b004addc44b1fff0fd83cf998aa618443e4e37ca (diff) | |
| download | RoughlyEnoughItems-2405e96d889341b82d00a9103e688d54713f2ce3.tar.gz RoughlyEnoughItems-2405e96d889341b82d00a9103e688d54713f2ce3.tar.bz2 RoughlyEnoughItems-2405e96d889341b82d00a9103e688d54713f2ce3.zip | |
Better Widgets
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.java | 43 |
1 files changed, 32 insertions, 11 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 7f7de43d3..b25338537 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java @@ -2,28 +2,25 @@ package me.shedaniel.rei.gui.widget; import java.awt.*; -public abstract class ClickableLabelWidget extends LabelWidget implements HighlightableWidget { +public abstract class ClickableLabelWidget extends LabelWidget { + + private static final int hoveredColor = (new Color(102, 255, 204)).getRGB(); + protected boolean focused; 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); + if (isHovered(mouseX, mouseY)) + colour = hoveredColor; + drawStringCentered(textRenderer, (isHovered(mouseX, mouseY) ? "§n" : "") + text, x, y, colour); } @Override - public boolean onMouseClick(int button, double mouseX, double mouseY) { + public boolean mouseClicked(double mouseX, double mouseY, int button) { if (button == 0 && isHighlighted(mouseX, mouseY)) { onLabelClicked(); return true; @@ -31,6 +28,30 @@ public abstract class ClickableLabelWidget extends LabelWidget implements Highli return false; } + @Override + public boolean keyPressed(int int_1, int int_2, int int_3) { + if (int_1 != 257 && int_1 != 32 && int_1 != 335) { + return false; + } else { + this.onLabelClicked(); + return true; + } + } + + @Override + public boolean hasFocus() { + return true; + } + + public boolean isHovered(int mouseX, int mouseY) { + return isHighlighted(mouseX, mouseY) || focused; + } + + @Override + public void setHasFocus(boolean boolean_1) { + focused = boolean_1; + } + public abstract void onLabelClicked(); } |
