diff options
author | syeyoung <cyong06@naver.com> | 2021-02-04 21:57:08 +0900 |
---|---|---|
committer | syeyoung <cyong06@naver.com> | 2021-02-04 21:57:08 +0900 |
commit | 3d20d63e025b827ae9a8e7bd62b436fda7986071 (patch) | |
tree | 0477ec0406ce55698fdb0d73f35029c697cf378f | |
parent | c37bda238c5072fa50dfa2d87aa137e1bdf5c4ac (diff) | |
download | Skyblock-Dungeons-Guide-3d20d63e025b827ae9a8e7bd62b436fda7986071.tar.gz Skyblock-Dungeons-Guide-3d20d63e025b827ae9a8e7bd62b436fda7986071.tar.bz2 Skyblock-Dungeons-Guide-3d20d63e025b827ae9a8e7bd62b436fda7986071.zip |
tab button inside tab pane
-rwxr-xr-x | src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTabButton.java | 61 | ||||
-rwxr-xr-x | src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTabbedPane.java | 54 |
2 files changed, 54 insertions, 61 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTabButton.java b/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTabButton.java deleted file mode 100755 index cf6f6fc7..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTabButton.java +++ /dev/null @@ -1,61 +0,0 @@ -package kr.syeyoung.dungeonsguide.gui.elements; - -import kr.syeyoung.dungeonsguide.gui.MPanel; -import lombok.Getter; -import lombok.Setter; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.Gui; - -import java.awt.*; - -@Getter -@Setter -public class MTabButton extends MPanel { - private String text; - - private Color foreground = Color.white; - private Color hover = new Color(236, 236, 236, 64); - private Color clicked = new Color(30,30,30,0); - private Color selected = new Color(0,0,0,255); - private Color disabled = new Color(0,0,0); - - private boolean enabled = true; - - private MTabbedPane tabbedPane; - - public MTabButton(MTabbedPane tabbedPane, String key) { - this.tabbedPane = tabbedPane; - this.text = key; - } - - @Override - public void render(int absMousex, int absMousey, int relMousex0, int relMousey0, float partialTicks, Rectangle clip) { - Dimension bounds = getSize(); - - Color bg = null; - if (!enabled) { - bg = disabled; - } else if (tabbedPane.getSelectedKey().equals(text)) { - bg = selected; - } else if (new Rectangle(new Point(0,0),bounds).contains(relMousex0, relMousey0)) { - bg = hover; - } - if (bg != null) - Gui.drawRect(0,0,getBounds().width, getBounds().height, bg.getRGB()); - - FontRenderer renderer = Minecraft.getMinecraft().fontRendererObj; - int width = renderer.getStringWidth(text); - int x = (getBounds().width - width) / 2; - int y = (getBounds().height - renderer.FONT_HEIGHT) / 2; - - renderer.drawString(text, x,y, foreground.getRGB()); - } - - @Override - public void mouseClicked(int absMouseX, int absMouseY, int relMouseX, int relMouseY, int mouseButton) { - if (lastAbsClip.contains(absMouseX, absMouseY)) { - tabbedPane.setSelectedKey(text); - } - } -} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTabbedPane.java b/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTabbedPane.java index 96b2e81d..ddf1c8a9 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTabbedPane.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTabbedPane.java @@ -3,6 +3,9 @@ package kr.syeyoung.dungeonsguide.gui.elements; import kr.syeyoung.dungeonsguide.gui.MPanel; import lombok.Getter; import lombok.Setter; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.Gui; import java.awt.*; import java.util.ArrayList; @@ -69,4 +72,55 @@ public class MTabbedPane extends MPanel { this.bounds.width = bounds.width; this.bounds.height = bounds.height; } + + @Getter + @Setter + public static class MTabButton extends MPanel { + private String text; + + private Color foreground = Color.white; + private Color hover = new Color(236, 236, 236, 64); + private Color clicked = new Color(30,30,30,0); + private Color selected = new Color(0,0,0,255); + private Color disabled = new Color(0,0,0); + + private boolean enabled = true; + + private MTabbedPane tabbedPane; + + public MTabButton(MTabbedPane tabbedPane, String key) { + this.tabbedPane = tabbedPane; + this.text = key; + } + + @Override + public void render(int absMousex, int absMousey, int relMousex0, int relMousey0, float partialTicks, Rectangle clip) { + Dimension bounds = getSize(); + + Color bg = null; + if (!enabled) { + bg = disabled; + } else if (tabbedPane.getSelectedKey().equals(text)) { + bg = selected; + } else if (new Rectangle(new Point(0,0),bounds).contains(relMousex0, relMousey0)) { + bg = hover; + } + if (bg != null) + Gui.drawRect(0,0,getBounds().width, getBounds().height, bg.getRGB()); + + FontRenderer renderer = Minecraft.getMinecraft().fontRendererObj; + int width = renderer.getStringWidth(text); + int x = (getBounds().width - width) / 2; + int y = (getBounds().height - renderer.FONT_HEIGHT) / 2; + + renderer.drawString(text, x,y, foreground.getRGB()); + } + + @Override + public void mouseClicked(int absMouseX, int absMouseY, int relMouseX, int relMouseY, int mouseButton) { + if (lastAbsClip.contains(absMouseX, absMouseY)) { + tabbedPane.setSelectedKey(text); + } + } + } } |