This repository was archived by the owner on Sep 17, 2021. It is now read-only.
Repository navigation
Expand file tree
/
Copy pathColor.java
More file actions
103 lines (85 loc) · 2.39 KB
/
Copy pathColor.java
File metadata and controls
103 lines (85 loc) · 2.39 KB
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
package Gprocessing.graphics;
import Gprocessing.physics.Transform;
import Gprocessing.util.Engine;
import Gprocessing.util.Utils;
import org.joml.Vector4f;
public class Color {
public static Color WHITE = new Color(255, 255, 255, 255);
public static Color BLACK = new Color(0, 0, 0, 255);
public static Color RED = new Color(255, 0, 0, 255);
public static Color DARK_RED = new Color(127, 0, 0, 255);
public static Color GREEN = new Color(0, 255, 0, 255);
public static Color BLUE = new Color(0, 0, 255, 255);
public static Color DARK_BLUE = new Color(0, 0, 127, 255);
public static Color DIRTY_BLUE = new Color(0, 127, 127, 255);
public static Color PINK = new Color(255, 0, 255, 255);
public static Color CYAN = new Color(0, 255, 255, 255);
public static Color YELLOW = new Color(255, 255, 0, 255);
public static Color PURPLE = new Color(127, 0, 127, 255);
public static Color[] LIST = {RED, GREEN, BLUE, PINK, CYAN, YELLOW, DARK_RED, PURPLE, DARK_BLUE, DIRTY_BLUE};
public float r;
public float g;
public float b;
public float a;
public Color(float pr, float pg, float pb, float pa) {
r = pr;
g = pg;
b = pb;
a = pa;
}
public static Color randomColor() {
return LIST[Utils.randomInt(2, LIST.length - 1)];
}
public Color(float pr, float pg, float pb) {
this(pr, pg, pb, 255);
}
public Color(float c) {
this(c, c, c, 255);
}
Color color() {
return this;
}
public Vector4f toVec4f() {
return new Vector4f(r, g, b, a);
}
private float m(float p) {
// I am too lazy to type this three times...
return Utils.map(p, 0, 255, 0, 1);
}
public Vector4f toNormalizedVec4f() {
return new Vector4f(m(r), m(g), m(b), m(a));
}
public Color fromNormalized() {
return new Color(Utils.map(r, 0, 1, 0, 255), Utils.map(g, 0, 1, 0, 255), Utils.map(b, 0, 1, 0, 255),
Utils.map(a, 0, 1, 0, 255));
}
@Override
public boolean equals (Object c) {
if (c == null) {
return false;
} if (!(c instanceof Color)) {
return false;
}
Color otherColor = (Color)c;
return otherColor.r == this.r && otherColor.g == this.g && otherColor.b == this.b && otherColor.a == this.a;
}
public void setAlpha (float value) {
a = value;
}
public void setValue(String type, float value) {
switch (type) {
case "r":
r = value;
break;
case "g":
g = value;
break;
case "b":
b = value;
break;
case "a":
a = value;
break;
}
}
}