Add tooltips to gui elements

This commit is contained in:
johni0702
2015-07-09 16:19:06 +02:00
parent d4e04feaeb
commit 9e886b6171
9 changed files with 311 additions and 2 deletions

View File

@@ -26,9 +26,15 @@ import lombok.NonNull;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.WorldRenderer;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.util.Color;
import org.lwjgl.util.*;
import static net.minecraft.client.renderer.GlStateManager.*;
import static org.lwjgl.opengl.GL11.*;
public class MinecraftGuiRenderer implements GuiRenderer {
private final Gui gui = new Gui();
@@ -60,6 +66,46 @@ public class MinecraftGuiRenderer implements GuiRenderer {
gui.drawTexturedModalRect(x, y, u, v, width, height);
}
@Override
public void drawRect(int x, int y, int width, int height, int color) {
Gui.drawRect(x, y, x + width, y + height, color);
}
@Override
public void drawRect(int x, int y, int width, int height, ReadableColor color) {
drawRect(x, y, width, height, color(color));
}
@Override
public void drawRect(int x, int y, int width, int height, int topLeftColor, int topRightColor, int bottomLeftColor, int bottomRightColor) {
drawRect(x, y, width, height, color(topLeftColor), color(topRightColor), color(bottomLeftColor), color(bottomRightColor));
}
@Override
public void drawRect(int x, int y, int width, int height, ReadableColor tl, ReadableColor tr, ReadableColor bl, ReadableColor br) {
disableTexture2D();
enableBlend();
disableAlpha();
tryBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, 1, 0);
shadeModel(GL_SMOOTH);
Tessellator tessellator = Tessellator.getInstance();
WorldRenderer renderer = tessellator.getWorldRenderer();
renderer.startDrawingQuads();
renderer.setColorRGBA(bl.getRed(), bl.getGreen(), bl.getBlue(), bl.getAlpha());
renderer.addVertex(x, y + height, 0);
renderer.setColorRGBA(br.getRed(), br.getGreen(), br.getBlue(), br.getAlpha());
renderer.addVertex(x + width, y + height, 0);
renderer.setColorRGBA(tr.getRed(), tr.getGreen(), tr.getBlue(), tr.getAlpha());
renderer.addVertex(x + width, y, 0);
renderer.setColorRGBA(tl.getRed(), tl.getGreen(), tl.getBlue(), tl.getAlpha());
renderer.addVertex(x, y, 0);
tessellator.draw();
shadeModel(GL_FLAT);
disableBlend();
enableAlpha();
enableTexture2D();
}
@Override
public int drawString(int x, int y, int color, String text) {
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRendererObj;
@@ -88,4 +134,8 @@ public class MinecraftGuiRenderer implements GuiRenderer {
| color.getGreen() << 8
| color.getBlue();
}
private ReadableColor color(int color) {
return new Color((color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff, (color >> 24) & 0xff);
}
}