Skip to content

Commit 92eba40

Browse files
authored
feat: add more internal widgets & flags (#301)
1 parent 4b0cf7b commit 92eba40

File tree

8 files changed

+529
-15
lines changed

8 files changed

+529
-15
lines changed

imgui-binding/src/generated/java/imgui/internal/ImGui.java

Lines changed: 246 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import imgui.ImGuiPlatformMonitor;
66
import imgui.ImGuiViewport;
77
import imgui.ImVec2;
8+
import imgui.ImVec4;
9+
import imgui.type.ImBoolean;
810
import imgui.type.ImFloat;
911
import imgui.type.ImInt;
1012

@@ -1106,8 +1108,252 @@ public static void dockBuilderFinish(final int nodeId) {
11061108
ImGui::DockBuilderFinish(nodeId);
11071109
*/
11081110

1111+
1112+
// Widgets
1113+
1114+
public static void textEx(final String beginText) {
1115+
nTextEx(beginText);
1116+
}
1117+
1118+
public static void textEx(final String beginText, final String endText) {
1119+
nTextEx(beginText, endText);
1120+
}
1121+
1122+
public static void textEx(final String beginText, final String endText, final int imGuiTextFlags) {
1123+
nTextEx(beginText, endText, imGuiTextFlags);
1124+
}
1125+
1126+
private static native void nTextEx(String beginText); /*MANUAL
1127+
auto beginText = obj_beginText == NULL ? NULL : (char*)env->GetStringUTFChars(obj_beginText, JNI_FALSE);
1128+
ImGui::TextEx(beginText);
1129+
if (beginText != NULL) env->ReleaseStringUTFChars(obj_beginText, beginText);
1130+
*/
1131+
1132+
private static native void nTextEx(String beginText, String endText); /*MANUAL
1133+
auto beginText = obj_beginText == NULL ? NULL : (char*)env->GetStringUTFChars(obj_beginText, JNI_FALSE);
1134+
auto endText = obj_endText == NULL ? NULL : (char*)env->GetStringUTFChars(obj_endText, JNI_FALSE);
1135+
ImGui::TextEx(beginText, endText);
1136+
if (beginText != NULL) env->ReleaseStringUTFChars(obj_beginText, beginText);
1137+
if (endText != NULL) env->ReleaseStringUTFChars(obj_endText, endText);
1138+
*/
1139+
1140+
private static native void nTextEx(String beginText, String endText, int imGuiTextFlags); /*MANUAL
1141+
auto beginText = obj_beginText == NULL ? NULL : (char*)env->GetStringUTFChars(obj_beginText, JNI_FALSE);
1142+
auto endText = obj_endText == NULL ? NULL : (char*)env->GetStringUTFChars(obj_endText, JNI_FALSE);
1143+
ImGui::TextEx(beginText, endText, static_cast<ImGuiTextFlags_>(imGuiTextFlags));
1144+
if (beginText != NULL) env->ReleaseStringUTFChars(obj_beginText, beginText);
1145+
if (endText != NULL) env->ReleaseStringUTFChars(obj_endText, endText);
1146+
*/
1147+
1148+
public static boolean buttonEx(final String label) {
1149+
return nButtonEx(label);
1150+
}
1151+
1152+
public static boolean buttonEx(final String label, final ImVec2 size) {
1153+
return nButtonEx(label, size.x, size.y);
1154+
}
1155+
1156+
public static boolean buttonEx(final String label, final float sizeX, final float sizeY) {
1157+
return nButtonEx(label, sizeX, sizeY);
1158+
}
1159+
1160+
public static boolean buttonEx(final String label, final ImVec2 size, final int imGuiButtonFlags) {
1161+
return nButtonEx(label, size.x, size.y, imGuiButtonFlags);
1162+
}
1163+
1164+
public static boolean buttonEx(final String label, final float sizeX, final float sizeY, final int imGuiButtonFlags) {
1165+
return nButtonEx(label, sizeX, sizeY, imGuiButtonFlags);
1166+
}
1167+
1168+
public static boolean buttonEx(final String label, final int imGuiButtonFlags) {
1169+
return nButtonEx(label, imGuiButtonFlags);
1170+
}
1171+
1172+
private static native boolean nButtonEx(String obj_label); /*MANUAL
1173+
auto label = obj_label == NULL ? NULL : (char*)env->GetStringUTFChars(obj_label, JNI_FALSE);
1174+
auto _result = ImGui::ButtonEx(label);
1175+
if (label != NULL) env->ReleaseStringUTFChars(obj_label, label);
1176+
return _result;
1177+
*/
1178+
1179+
private static native boolean nButtonEx(String obj_label, float sizeX, float sizeY); /*MANUAL
1180+
auto label = obj_label == NULL ? NULL : (char*)env->GetStringUTFChars(obj_label, JNI_FALSE);
1181+
ImVec2 size = ImVec2(sizeX, sizeY);
1182+
auto _result = ImGui::ButtonEx(label, size);
1183+
if (label != NULL) env->ReleaseStringUTFChars(obj_label, label);
1184+
return _result;
1185+
*/
1186+
1187+
private static native boolean nButtonEx(String obj_label, float sizeX, float sizeY, int imGuiButtonFlags); /*MANUAL
1188+
auto label = obj_label == NULL ? NULL : (char*)env->GetStringUTFChars(obj_label, JNI_FALSE);
1189+
ImVec2 size = ImVec2(sizeX, sizeY);
1190+
auto _result = ImGui::ButtonEx(label, size, static_cast<ImGuiButtonFlags>(imGuiButtonFlags));
1191+
if (label != NULL) env->ReleaseStringUTFChars(obj_label, label);
1192+
return _result;
1193+
*/
1194+
1195+
private static native boolean nButtonEx(String obj_label, int imGuiButtonFlags); /*MANUAL
1196+
auto label = obj_label == NULL ? NULL : (char*)env->GetStringUTFChars(obj_label, JNI_FALSE);
1197+
auto _result = ImGui::ButtonEx(label, ImVec2(0,0), static_cast<ImGuiButtonFlags>(imGuiButtonFlags));
1198+
if (label != NULL) env->ReleaseStringUTFChars(obj_label, label);
1199+
return _result;
1200+
*/
1201+
1202+
public static boolean closeButton(final int id, final ImVec2 pos) {
1203+
return nCloseButton(id, pos.x, pos.y);
1204+
}
1205+
1206+
public static boolean closeButton(final int id, final float posX, final float posY) {
1207+
return nCloseButton(id, posX, posY);
1208+
}
1209+
1210+
private static native boolean nCloseButton(int id, float posX, float posY); /*MANUAL
1211+
ImVec2 pos = ImVec2(posX, posY);
1212+
auto _result = ImGui::CloseButton((ImGuiID)id, pos);
1213+
return _result;
1214+
*/
1215+
1216+
public static boolean arrowButtonEx(final String strId, final int imGuiDir, final ImVec2 size) {
1217+
return nArrowButtonEx(strId, imGuiDir, size.x, size.y);
1218+
}
1219+
1220+
public static boolean arrowButtonEx(final String strId, final int imGuiDir, final float sizeX, final float sizeY) {
1221+
return nArrowButtonEx(strId, imGuiDir, sizeX, sizeY);
1222+
}
1223+
1224+
public static boolean arrowButtonEx(final String strId, final int imGuiDir, final ImVec2 size, final int imGuiButtonFlags) {
1225+
return nArrowButtonEx(strId, imGuiDir, size.x, size.y, imGuiButtonFlags);
1226+
}
1227+
1228+
public static boolean arrowButtonEx(final String strId, final int imGuiDir, final float sizeX, final float sizeY, final int imGuiButtonFlags) {
1229+
return nArrowButtonEx(strId, imGuiDir, sizeX, sizeY, imGuiButtonFlags);
1230+
}
1231+
1232+
private static native boolean nArrowButtonEx(String obj_strId, int imGuiDir, float sizeX, float sizeY); /*MANUAL
1233+
auto strId = obj_strId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_strId, JNI_FALSE);
1234+
ImVec2 size = ImVec2(sizeX, sizeY);
1235+
auto _result = ImGui::ArrowButtonEx(strId, static_cast<ImGuiDir>(imGuiDir), size);
1236+
if (strId != NULL) env->ReleaseStringUTFChars(obj_strId, strId);
1237+
return _result;
1238+
*/
1239+
1240+
private static native boolean nArrowButtonEx(String obj_strId, int imGuiDir, float sizeX, float sizeY, int imGuiButtonFlags); /*MANUAL
1241+
auto strId = obj_strId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_strId, JNI_FALSE);
1242+
ImVec2 size = ImVec2(sizeX, sizeY);
1243+
auto _result = ImGui::ArrowButtonEx(strId, static_cast<ImGuiDir>(imGuiDir), size, static_cast<ImGuiButtonFlags>(imGuiButtonFlags));
1244+
if (strId != NULL) env->ReleaseStringUTFChars(obj_strId, strId);
1245+
return _result;
1246+
*/
1247+
1248+
public static void scrollbar(final int axis) {
1249+
nScrollbar(axis);
1250+
}
1251+
1252+
private static native void nScrollbar(int axis); /*
1253+
ImGui::Scrollbar(static_cast<ImGuiAxis>(axis));
1254+
*/
1255+
1256+
public static boolean imageButtonEx(final int id, final long userTextureId, final ImVec2 size, final ImVec2 uv0, final ImVec2 uv1, final ImVec2 padding, final ImVec4 bgCol, final ImVec4 tintCol) {
1257+
return nImageButtonEx(id, userTextureId, size.x, size.y, uv0.x, uv0.y, uv1.x, uv1.y, padding.x, padding.y, bgCol.x, bgCol.y, bgCol.z, bgCol.w, tintCol.x, tintCol.y, tintCol.z, tintCol.w);
1258+
}
1259+
1260+
public static boolean imageButtonEx(final int id, final long userTextureId, final float sizeX, final float sizeY, final float uv0X, final float uv0Y, final float uv1X, final float uv1Y, final float paddingX, final float paddingY, final float bgColX, final float bgColY, final float bgColZ, final float bgColW, final float tintColX, final float tintColY, final float tintColZ, final float tintColW) {
1261+
return nImageButtonEx(id, userTextureId, sizeX, sizeY, uv0X, uv0Y, uv1X, uv1Y, paddingX, paddingY, bgColX, bgColY, bgColZ, bgColW, tintColX, tintColY, tintColZ, tintColW);
1262+
}
1263+
1264+
private static native boolean nImageButtonEx(int id, long userTextureId, float sizeX, float sizeY, float uv0X, float uv0Y, float uv1X, float uv1Y, float paddingX, float paddingY, float bgColX, float bgColY, float bgColZ, float bgColW, float tintColX, float tintColY, float tintColZ, float tintColW); /*MANUAL
1265+
ImVec2 size = ImVec2(sizeX, sizeY);
1266+
ImVec2 uv0 = ImVec2(uv0X, uv0Y);
1267+
ImVec2 uv1 = ImVec2(uv1X, uv1Y);
1268+
ImVec2 padding = ImVec2(paddingX, paddingY);
1269+
ImVec4 bgCol = ImVec4(bgColX, bgColY, bgColZ, bgColW);
1270+
ImVec4 tintCol = ImVec4(tintColX, tintColY, tintColZ, tintColW);
1271+
auto _result = ImGui::ImageButtonEx((ImGuiID)id, (ImTextureID)(uintptr_t)userTextureId, size, uv0, uv1, padding, bgCol, tintCol);
1272+
return _result;
1273+
*/
1274+
1275+
public static void separatorEx(final int imGuiSeparatorFlags) {
1276+
nSeparatorEx(imGuiSeparatorFlags);
1277+
}
1278+
1279+
private static native void nSeparatorEx(int imGuiSeparatorFlags); /*
1280+
ImGui::SeparatorEx(static_cast<ImGuiSeparatorFlags_>(imGuiSeparatorFlags));
1281+
*/
1282+
1283+
public static ImRect getWindowScrollbarRect(final ImGuiWindow imGuiWindow, final int axis) {
1284+
final ImRect dst = new ImRect();
1285+
nGetWindowScrollbarRect(dst, imGuiWindow.ptr, axis);
1286+
return dst;
1287+
}
1288+
1289+
public static void getWindowScrollbarRect(final ImRect dst, final ImGuiWindow imGuiWindow, final int axis) {
1290+
nGetWindowScrollbarRect(dst, imGuiWindow.ptr, axis);
1291+
}
1292+
1293+
private static native void nGetWindowScrollbarRect(ImRect dst, long imGuiWindow, int axis); /*
1294+
Jni::ImRectCpy(env, ImGui::GetWindowScrollbarRect(reinterpret_cast<ImGuiWindow*>(imGuiWindow), static_cast<ImGuiAxis>(axis)), dst);
1295+
*/
1296+
1297+
public static int getWindowScrollbarID(final ImGuiWindow window, final int axis) {
1298+
return nGetWindowScrollbarID(window.ptr, axis);
1299+
}
1300+
1301+
private static native int nGetWindowScrollbarID(long window, int axis); /*
1302+
return ImGui::GetWindowScrollbarID(reinterpret_cast<ImGuiWindow*>(window), static_cast<ImGuiAxis>(axis));
1303+
*/
1304+
1305+
public static int getWindowResizeCornerID(final ImGuiWindow window, final int n) {
1306+
return nGetWindowResizeCornerID(window.ptr, n);
1307+
}
1308+
1309+
private static native int nGetWindowResizeCornerID(long window, int n); /*
1310+
return ImGui::GetWindowResizeCornerID(reinterpret_cast<ImGuiWindow*>(window), n);
1311+
*/
1312+
1313+
public static int getWindowResizeBorderID(final ImGuiWindow window, final int dir) {
1314+
return nGetWindowResizeBorderID(window.ptr, dir);
1315+
}
1316+
1317+
private static native int nGetWindowResizeBorderID(long window, int dir); /*
1318+
return ImGui::GetWindowResizeBorderID(reinterpret_cast<ImGuiWindow*>(window), static_cast<ImGuiDir>(dir));
1319+
*/
1320+
11091321
// Widgets low-level behaviors
11101322

1323+
public static boolean buttonBehavior(final ImRect bb, final int id, final ImBoolean outHovered, final ImBoolean outHeld) {
1324+
return nButtonBehavior(bb.min.x, bb.min.y, bb.max.x, bb.max.y, id, outHovered != null ? outHovered.getData() : null, outHeld != null ? outHeld.getData() : null);
1325+
}
1326+
1327+
public static boolean buttonBehavior(final float bbMinX, final float bbMinY, final float bbMaxX, final float bbMaxY, final int id, final ImBoolean outHovered, final ImBoolean outHeld) {
1328+
return nButtonBehavior(bbMinX, bbMinY, bbMaxX, bbMaxY, id, outHovered != null ? outHovered.getData() : null, outHeld != null ? outHeld.getData() : null);
1329+
}
1330+
1331+
public static boolean buttonBehavior(final ImRect bb, final int id, final ImBoolean outHovered, final ImBoolean outHeld, final int imGuiButtonFlags) {
1332+
return nButtonBehavior(bb.min.x, bb.min.y, bb.max.x, bb.max.y, id, outHovered != null ? outHovered.getData() : null, outHeld != null ? outHeld.getData() : null, imGuiButtonFlags);
1333+
}
1334+
1335+
public static boolean buttonBehavior(final float bbMinX, final float bbMinY, final float bbMaxX, final float bbMaxY, final int id, final ImBoolean outHovered, final ImBoolean outHeld, final int imGuiButtonFlags) {
1336+
return nButtonBehavior(bbMinX, bbMinY, bbMaxX, bbMaxY, id, outHovered != null ? outHovered.getData() : null, outHeld != null ? outHeld.getData() : null, imGuiButtonFlags);
1337+
}
1338+
1339+
private static native boolean nButtonBehavior(float bbMinX, float bbMinY, float bbMaxX, float bbMaxY, int id, boolean[] obj_outHovered, boolean[] obj_outHeld); /*MANUAL
1340+
auto outHovered = obj_outHovered == NULL ? NULL : (bool*)env->GetPrimitiveArrayCritical(obj_outHovered, JNI_FALSE);
1341+
auto outHeld = obj_outHeld == NULL ? NULL : (bool*)env->GetPrimitiveArrayCritical(obj_outHeld, JNI_FALSE);
1342+
auto _result = ImGui::ButtonBehavior(ImRect(bbMinX, bbMinY, bbMaxX, bbMaxY), (ImGuiID)id, (outHovered != NULL ? &outHovered[0] : NULL), (outHeld != NULL ? &outHeld[0] : NULL));
1343+
if (outHovered != NULL) env->ReleasePrimitiveArrayCritical(obj_outHovered, outHovered, JNI_FALSE);
1344+
if (outHeld != NULL) env->ReleasePrimitiveArrayCritical(obj_outHeld, outHeld, JNI_FALSE);
1345+
return _result;
1346+
*/
1347+
1348+
private static native boolean nButtonBehavior(float bbMinX, float bbMinY, float bbMaxX, float bbMaxY, int id, boolean[] obj_outHovered, boolean[] obj_outHeld, int imGuiButtonFlags); /*MANUAL
1349+
auto outHovered = obj_outHovered == NULL ? NULL : (bool*)env->GetPrimitiveArrayCritical(obj_outHovered, JNI_FALSE);
1350+
auto outHeld = obj_outHeld == NULL ? NULL : (bool*)env->GetPrimitiveArrayCritical(obj_outHeld, JNI_FALSE);
1351+
auto _result = ImGui::ButtonBehavior(ImRect(bbMinX, bbMinY, bbMaxX, bbMaxY), (ImGuiID)id, (outHovered != NULL ? &outHovered[0] : NULL), (outHeld != NULL ? &outHeld[0] : NULL), static_cast<ImGuiButtonFlags>(imGuiButtonFlags));
1352+
if (outHovered != NULL) env->ReleasePrimitiveArrayCritical(obj_outHovered, outHovered, JNI_FALSE);
1353+
if (outHeld != NULL) env->ReleasePrimitiveArrayCritical(obj_outHeld, outHeld, JNI_FALSE);
1354+
return _result;
1355+
*/
1356+
11111357
public static boolean splitterBehavior(final ImRect bb, final int id, final int axis, final ImFloat size1, final ImFloat size2, final float minSize1, final float minSize2) {
11121358
return nSplitterBehavior(bb.min.x, bb.min.y, bb.max.x, bb.max.y, id, axis, size1 != null ? size1.getData() : null, size2 != null ? size2.getData() : null, minSize1, minSize2);
11131359
}
@@ -1176,17 +1422,4 @@ public static boolean splitterBehavior(final float bbMinX, final float bbMinY, f
11761422
return _result;
11771423
*/
11781424

1179-
public static ImRect getWindowScrollbarRect(final ImGuiWindow imGuiWindow, final int axis) {
1180-
final ImRect dst = new ImRect();
1181-
nGetWindowScrollbarRect(dst, imGuiWindow.ptr, axis);
1182-
return dst;
1183-
}
1184-
1185-
public static void getWindowScrollbarRect(final ImRect dst, final ImGuiWindow imGuiWindow, final int axis) {
1186-
nGetWindowScrollbarRect(dst, imGuiWindow.ptr, axis);
1187-
}
1188-
1189-
private static native void nGetWindowScrollbarRect(ImRect dst, long imGuiWindow, int axis); /*
1190-
Jni::ImRectCpy(env, ImGui::GetWindowScrollbarRect(reinterpret_cast<ImGuiWindow*>(imGuiWindow), static_cast<ImGuiAxis>(axis)), dst);
1191-
*/
11921425
}

0 commit comments

Comments
 (0)