feat: add more internal widgets & flags (#301)

This commit is contained in:
William Gray authored and GitHub committed 2024-12-08 19:00:12 +02:00
1 parent 4b0cf7bdfe
commit 92eba406ef
8 files changed
+529 -15

No files matched your search

@@ -5,10 +5,12 @@ import imgui.ImFont;
import imgui.ImGuiPlatformMonitor;
import imgui.ImGuiViewport;
import imgui.ImVec2;
import imgui.ImVec4;
import imgui.binding.annotation.ArgValue;
import imgui.binding.annotation.BindingMethod;
import imgui.binding.annotation.BindingSource;
import imgui.binding.annotation.OptArg;
import imgui.type.ImBoolean;
import imgui.type.ImFloat;
import imgui.type.ImInt;
@@ -332,11 +334,48 @@ public final class ImGui extends imgui.ImGui {
@BindingMethod
public static native void DockBuilderFinish(int nodeId);
// Widgets
@BindingMethod
public static native void TextEx(String beginText, @OptArg String endText, @OptArg @ArgValue(staticCast = "ImGuiTextFlags_") int imGuiTextFlags);
@BindingMethod
public static native boolean ButtonEx(String label, @OptArg(callValue = "ImVec2(0,0)") ImVec2 size, @OptArg @ArgValue(staticCast = "ImGuiButtonFlags") int imGuiButtonFlags);
@BindingMethod
public static native boolean CloseButton(@ArgValue(callPrefix = "(ImGuiID)") int id, ImVec2 pos);
@BindingMethod
public static native boolean ArrowButtonEx(String strId, @ArgValue(staticCast = "ImGuiDir") int imGuiDir, ImVec2 size, @OptArg @ArgValue(staticCast = "ImGuiButtonFlags") int imGuiButtonFlags);
@BindingMethod
public static native void Scrollbar(@ArgValue(staticCast = "ImGuiAxis") int axis);
@BindingMethod
public static native boolean ImageButtonEx(@ArgValue(callPrefix = "(ImGuiID)") int id, @ArgValue(callPrefix = "(ImTextureID)(uintptr_t)") long userTextureId, ImVec2 size, ImVec2 uv0, ImVec2 uv1, ImVec2 padding, ImVec4 bgCol, ImVec4 tintCol);
@BindingMethod
public static native void SeparatorEx(@ArgValue(staticCast = "ImGuiSeparatorFlags_") int imGuiSeparatorFlags);
@BindingMethod
public static native ImRect GetWindowScrollbarRect(ImGuiWindow imGuiWindow, @ArgValue(staticCast = "ImGuiAxis") int axis);
@BindingMethod
public static native int GetWindowScrollbarID(ImGuiWindow window, @ArgValue(staticCast = "ImGuiAxis") int axis);
@BindingMethod
public static native int GetWindowResizeCornerID(ImGuiWindow window, int n);
@BindingMethod
public static native int GetWindowResizeBorderID(ImGuiWindow window, @ArgValue(staticCast = "ImGuiDir") int dir);
// Widgets low-level behaviors
@BindingMethod
public static native boolean ButtonBehavior(ImRect bb, @ArgValue(callPrefix = "(ImGuiID)") int id, ImBoolean outHovered, ImBoolean outHeld, @OptArg @ArgValue(staticCast = "ImGuiButtonFlags") int imGuiButtonFlags);
@BindingMethod
public static native boolean SplitterBehavior(ImRect bb, int id, @ArgValue(staticCast = "ImGuiAxis") int axis, ImFloat size1, ImFloat size2, float minSize1, float minSize2, @OptArg float hoverExtend, @OptArg float hoverVisibilityDelay, @OptArg int bgCol);
@BindingMethod
public static native ImRect GetWindowScrollbarRect(ImGuiWindow imGuiWindow, @ArgValue(staticCast = "ImGuiAxis") int axis);
}
@@ -0,0 +1,16 @@
package imgui.internal.flag;
import imgui.binding.annotation.BindingAstEnum;
import imgui.binding.annotation.BindingSource;
@BindingSource
public final class ImGuiButtonFlags {
private ImGuiButtonFlags() {
}
@BindingAstEnum(file = "ast-imgui.json", qualType = "ImGuiButtonFlags_")
public Void __;
@BindingAstEnum(file = "ast-imgui_internal.json", qualType = "ImGuiButtonFlagsPrivate_", sanitizeName = "ImGuiButtonFlags_")
public Void ___;
}
@@ -0,0 +1,11 @@
package imgui.internal.flag;
import imgui.binding.annotation.BindingAstEnum;
import imgui.binding.annotation.BindingSource;
@BindingSource
public class ImGuiSeparatorFlags {
@BindingAstEnum(file = "ast-imgui_internal.json", qualType = "ImGuiSeparatorFlags_")
public Void __;
}
@@ -0,0 +1,11 @@
package imgui.internal.flag;
import imgui.binding.annotation.BindingAstEnum;
import imgui.binding.annotation.BindingSource;
@BindingSource
public class ImGuiTextFlags {
@BindingAstEnum(file = "ast-imgui_internal.json", qualType = "ImGuiTextFlags_")
public Void __;
}