1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
package io.polyfrost.oneconfig.gui.elements;
import io.polyfrost.oneconfig.lwjgl.RenderManager;
import io.polyfrost.oneconfig.utils.ColorUtils;
import io.polyfrost.oneconfig.utils.InputUtils;
public class BasicElement {
protected int width, height;
protected int colorPalette;
protected int hitBoxX, hitBoxY;
protected final boolean hoverFx;
protected boolean hovered = false;
protected boolean clicked = false;
protected boolean toggled = false;
protected boolean disabled = false;
protected int currentColor;
public BasicElement(int width, int height, int colorPalette, boolean hoverFx) {
this.height = height;
this.width = width;
this.colorPalette = colorPalette;
this.hoverFx = hoverFx;
}
public BasicElement(int width, int height, boolean hoverFx) {
this.height = height;
this.width = width;
this.colorPalette = -1;
this.hoverFx = hoverFx;
}
public void draw(long vg, int x, int y) {
RenderManager.drawRectangle(vg, x, y, width, height, currentColor);
update(x, y);
if (hoverFx) {
currentColor = ColorUtils.getColor(currentColor, colorPalette, hovered, clicked);
}
}
public void update(int x, int y) {
if(disabled) {
hovered = false;
clicked = false;
return;
}
hovered = InputUtils.isAreaHovered(x - hitBoxX, y - hitBoxY, width + hitBoxX, height + hitBoxY);
clicked = InputUtils.isClicked() && hovered;
if (hovered) {
if (clicked) {
toggled = !toggled;
onClick();
}
}
}
public void onClick() {
}
public void setCustomHitbox(int x, int y) {
hitBoxX = x;
hitBoxY = y;
}
public void setWidth(int width) {
this.width = width;
}
public void setHeight(int height) {
this.height = height;
}
public void setColorPalette(int colorPalette) {
this.colorPalette = colorPalette;
}
public int getWidth() {
return width;
}
public int getHeight() {
return height;
}
public boolean isHovered() {
return hovered;
}
public boolean isClicked() {
return clicked;
}
public boolean isToggled() {
return toggled;
}
public boolean isDisabled() {
return disabled;
}
public void disable(boolean state) {
disabled = state;
}
}
|