1 package com.irtimaled.bbor.client.gui;
3 import net.minecraft.client.Minecraft;
4 import net.minecraft.client.gui.GuiButton;
8 abstract class AbstractControl extends GuiButton implements IControl {
9 private static final int PADDING = 4;
10 protected final Minecraft minecraft;
12 AbstractControl(int x, int y, int width, String name) {
13 super(0, x, y, width, 20, name);
14 this.minecraft = Minecraft.getInstance();
18 public void render(int mouseX, int mouseY) {
19 super.render(mouseX, mouseY, 0f);
23 public void setX(int x) {
28 public void setY(int y) {
33 public int getControlHeight() {
34 return this.height + PADDING;
38 public int getControlWidth() {
39 return this.width + PADDING;
43 protected void renderBg(Minecraft minecraft, int mouseX, int mouseY) {
44 if (enabled) renderBackground(mouseX, mouseY);
47 protected void renderBackground(int mouseX, int mouseY) {
51 public void setVisible(boolean visible) {
52 this.visible = visible;
56 public boolean getVisible() {
61 public void filter(String lowerValue) {
62 String lowerString = this.displayString.toLowerCase();
63 this.setVisible(lowerValue.equals("") ||
64 lowerString.startsWith(lowerValue) ||
65 lowerString.contains(" " + lowerValue));
68 void drawRectangle(int left, int top, int right, int bottom, Color color) {
69 drawRect(left, top, right, bottom, color.getRGB());