From 1e9db613a9540a6aba9de820191d17c22aef7dc2 Mon Sep 17 00:00:00 2001 From: SpaiR Date: Tue, 6 Oct 2020 17:56:09 +0300 Subject: [PATCH] [API] Implement ImGuiTextFilter --- .../src/main/java/imgui/ImGuiTextFilter.java | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 imgui-binding/src/main/java/imgui/ImGuiTextFilter.java diff --git a/imgui-binding/src/main/java/imgui/ImGuiTextFilter.java b/imgui-binding/src/main/java/imgui/ImGuiTextFilter.java new file mode 100644 index 0000000..e69f504 --- /dev/null +++ b/imgui-binding/src/main/java/imgui/ImGuiTextFilter.java @@ -0,0 +1,65 @@ +package imgui; + +import imgui.binding.ImGuiStructDestroyable; + +/** + * Helper: Parse and apply text filters. In format "aaaaa[,bbbb][,ccccc]" + */ +public final class ImGuiTextFilter extends ImGuiStructDestroyable { + public ImGuiTextFilter() { + this(""); + } + + public ImGuiTextFilter(final String defaultFilter) { + ptr = nCreate(defaultFilter); + } + + ImGuiTextFilter(final long ptr) { + super(ptr); + } + + /*JNI + #include + #include + #include "jni_binding_struct.h" + + #define IMGUI_TEXT_FILTER ((ImGuiTextFilter*)STRUCT_PTR) + */ + + @Override + protected long create() { + return nCreate(""); + } + + private native long nCreate(String defaultFilter); /* + return (intptr_t)(new ImGuiTextFilter(defaultFilter)); + */ + + public boolean draw() { + return draw("Filter (inc,-exc)"); + } + + public boolean draw(final String label) { + return draw(label, 0f); + } + + public native boolean draw(String label, float width); /* + return IMGUI_TEXT_FILTER->Draw(label, width); + */ + + public native boolean passFilter(String text); /* + return IMGUI_TEXT_FILTER->PassFilter(text); + */ + + public native void build(); /* + IMGUI_TEXT_FILTER->Build(); + */ + + public native void clear(); /* + IMGUI_TEXT_FILTER->Clear(); + */ + + public native boolean isActive(); /* + return IMGUI_TEXT_FILTER->IsActive(); + */ +}