Skip to content

Commit 6c0432c

Browse files
committed
[API] Add convenient methods to ImColor helper
1 parent 5abaacf commit 6c0432c

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

imgui-binding/src/main/java/imgui/ImColor.java

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,109 @@
11
package imgui;
22

3+
import java.awt.Color;
4+
35
/**
46
* Helper class to get ABGR packed color used by Dear ImGui.
57
*/
68
public final class ImColor {
79
private ImColor() {
810
}
911

12+
public static int rgba(final int r, final int g, final int b, final int a) {
13+
return intToColor(r, g, b, a);
14+
}
15+
16+
public static int rgb(final int r, final int g, final int b) {
17+
return intToColor(r, g, b);
18+
}
19+
20+
public static int rgba(final float r, final float g, final float b, final float a) {
21+
return floatToColor(r, g, b, a);
22+
}
23+
24+
public static int rgb(final float r, final float g, final float b) {
25+
return floatToColor(r, g, b);
26+
}
27+
28+
/**
29+
* @param hex e.g. "#FFFFFFFF"
30+
*/
31+
public static int rgba(final String hex) {
32+
return rgbaToColor(hex);
33+
}
34+
35+
/**
36+
* @param hex e.g. "#FFFFFF"
37+
*/
38+
public static int rgb(final String hex) {
39+
return rgbToColor(hex);
40+
}
41+
42+
public static int rgba(final ImVec4 col) {
43+
return rgba(col.x, col.y, col.z, col.w);
44+
}
45+
46+
public static int rgb(final ImVec4 col) {
47+
return rgb(col.x, col.y, col.z);
48+
}
49+
50+
public static int hsla(final float h, final float s, final float l, final float a) {
51+
return hslToColor(h, s, l, a);
52+
}
53+
54+
public static int hsl(final float h, final float s, final float l) {
55+
return hslToColor(h, s, l);
56+
}
57+
58+
public static int hsla(final int h, final int s, final int l, final int a) {
59+
return hslToColor(h, s, l, a);
60+
}
61+
62+
public static int hsl(final int h, final int s, final int l) {
63+
return hslToColor(h, s, l);
64+
}
65+
66+
public static int color(final Color color) {
67+
return rgba(color.getRed(), color.getGreen(), color.getBlue(), color.getAlpha());
68+
}
69+
70+
/**
71+
* @deprecated use {@link #rgb(int, int, int)}
72+
*/
73+
@Deprecated
1074
public static int intToColor(final int r, final int g, final int b, final int a) {
1175
return a << 24 | b << 16 | g << 8 | r;
1276
}
1377

78+
/**
79+
* @deprecated use {@link #rgba(int, int, int, int)}
80+
*/
81+
@Deprecated
1482
public static int intToColor(final int r, final int g, final int b) {
1583
return intToColor(r, g, b, 255);
1684
}
1785

86+
/**
87+
* @deprecated use {@link #rgb(float, float, float)}
88+
*/
89+
@Deprecated
1890
public static int floatToColor(final float r, final float g, final float b, final float a) {
1991
return intToColor((int) (r * 255), (int) (g * 255), (int) (b * 255), (int) (a * 255));
2092
}
2193

94+
/**
95+
* @deprecated use {@link #rgba(float, float, float, float)}
96+
*/
97+
@Deprecated
2298
public static int floatToColor(final float r, final float g, final float b) {
2399
return floatToColor(r, g, b, 1f);
24100
}
25101

26102
/**
27103
* @param hex e.g. "#FFFFFF"
104+
* @deprecated use {@link #rgb(String)}
28105
*/
106+
@Deprecated
29107
public static int rgbToColor(final String hex) {
30108
return intToColor(
31109
Integer.parseInt(hex.substring(1, 3), 16),
@@ -36,7 +114,9 @@ public static int rgbToColor(final String hex) {
36114

37115
/**
38116
* @param hex e.g. "#FFFFFFFF"
117+
* @deprecated use {@link #rgba(String)}
39118
*/
119+
@Deprecated
40120
public static int rgbaToColor(final String hex) {
41121
return intToColor(
42122
Integer.parseInt(hex.substring(1, 3), 16),
@@ -46,18 +126,34 @@ public static int rgbaToColor(final String hex) {
46126
);
47127
}
48128

129+
/**
130+
* @deprecated use {@link #hsl(int, int, int)}
131+
*/
132+
@Deprecated
49133
public static int hslToColor(final int h, final int s, final int l) {
50134
return hslToColor(h, s, l, 1);
51135
}
52136

137+
/**
138+
* @deprecated use {@link #hsla(int, int, int, int)}
139+
*/
140+
@Deprecated
53141
public static int hslToColor(final int h, final int s, final int l, final float a) {
54142
return hslToColor(h / 360f, s / 100f, l / 100f, a);
55143
}
56144

145+
/**
146+
* @deprecated use {@link #hsl(float, float, float)}
147+
*/
148+
@Deprecated
57149
public static int hslToColor(final float h, final float s, final float l) {
58150
return hslToColor(h, s, l, 1);
59151
}
60152

153+
/**
154+
* @deprecated use {@link #hsla(float, float, float, float)}
155+
*/
156+
@Deprecated
61157
public static int hslToColor(final float h, final float s, final float l, final float a) {
62158
final float q;
63159
final float p;

0 commit comments

Comments
 (0)