feat(api): add bindings for imgui-knobs (#211)
* feat(api): add bindings for imgui-knobs Add bindings for the imgui-knobs extension * Update example/src/main/java/Extra.java Update styling Co-authored-by: SpaiR <klimbetoo@gmail.com> * Update example/src/main/java/Extra.java Update styling Co-authored-by: SpaiR <klimbetoo@gmail.com> * Update .gitignore Remove gradle.properties from git ignore * Update styling Update styling, field names set to UPPER_CASE, remove throwing exceptions from constructors, refactored flags to general style --------- Co-authored-by: SpaiR <klimbetoo@gmail.com>
This commit is contained in:
1 parent
89cbacbf97
commit
194381c44e
9 files changed
+155
-1
No files matched your search
@@ -0,0 +1,46 @@
|
||||
import imgui.ImGui;
|
||||
import imgui.extension.imguiknobs.ImGuiKnobs;
|
||||
import imgui.extension.imguiknobs.flag.ImGuiKnobFlags;
|
||||
import imgui.extension.imguiknobs.flag.ImGuiKnobVariant;
|
||||
import imgui.flag.ImGuiCond;
|
||||
import imgui.flag.ImGuiWindowFlags;
|
||||
import imgui.type.ImBoolean;
|
||||
import imgui.type.ImFloat;
|
||||
|
||||
public class ExampleKnobs {
|
||||
|
||||
private static final ImFloat EXAMPLE_TICK_KNOB_VAL = new ImFloat(0);
|
||||
private static final ImFloat EXAMPLE_DOT_KNOB_VAL = new ImFloat(0);
|
||||
private static final ImFloat EXAMPLE_SPACE_KNOB_VAL = new ImFloat(0);
|
||||
private static final ImFloat EXAMPLE_WIPER_KNOB_VAL = new ImFloat(0);
|
||||
private static final ImFloat EXAMPLE_WIPER_DOT_KNOB_VAL = new ImFloat(0);
|
||||
private static final ImFloat EXAMPLE_WIPER_ONLY_KNOB_VAL = new ImFloat(0);
|
||||
private static final ImFloat EXAMPLE_STEPPED_KNOB_VAL = new ImFloat(0);
|
||||
|
||||
public static void show(final ImBoolean showKnobsWindow) {
|
||||
ImGui.setNextWindowSize(200, 400, ImGuiCond.Once);
|
||||
ImGui.setNextWindowPos(ImGui.getMainViewport().getPosX() + 200, ImGui.getMainViewport().getPosY() + 200, ImGuiCond.Once);
|
||||
if (ImGui.begin("Knobs Demo Window", showKnobsWindow, ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoCollapse)) {
|
||||
ImGui.textWrapped("This is a demo for dear ImGui Knobs");
|
||||
if (ImGui.beginChild("Float Knobs")) {
|
||||
ImGuiKnobs.knobFloat("Example Tick Knob", EXAMPLE_TICK_KNOB_VAL, 0.0f, 10.0f, 0.2f, "%.1f", ImGuiKnobVariant.TICK, 50.0f, ImGuiKnobFlags.NONE, 1);
|
||||
|
||||
ImGuiKnobs.knobFloat("Example Dot Knob", EXAMPLE_DOT_KNOB_VAL, 0.0f, 10.0f, 0.2f, "%.1f", ImGuiKnobVariant.DOT, 50.0f, ImGuiKnobFlags.NONE, 1);
|
||||
|
||||
ImGuiKnobs.knobFloat("Example Space Knob", EXAMPLE_SPACE_KNOB_VAL, 0.0f, 10.0f, 0.2f, "%.1f", ImGuiKnobVariant.SPACE, 50.0f, ImGuiKnobFlags.NONE, 1);
|
||||
|
||||
ImGuiKnobs.knobFloat("Example Wiper Knob", EXAMPLE_WIPER_KNOB_VAL, 0.0f, 10.0f, 0.2f, "%.1f", ImGuiKnobVariant.WIPER, 50.0f, ImGuiKnobFlags.NONE, 1);
|
||||
|
||||
ImGuiKnobs.knobFloat("Example Wiper Dot Knob", EXAMPLE_WIPER_DOT_KNOB_VAL, 0.0f, 10.0f, 0.2f, "%.1f", ImGuiKnobVariant.WIPER_DOT, 50.0f, ImGuiKnobFlags.NONE, 1);
|
||||
|
||||
ImGuiKnobs.knobFloat("Example Wiper Only Knob", EXAMPLE_WIPER_ONLY_KNOB_VAL, 0.0f, 10.0f, 0.2f, "%.1f", ImGuiKnobVariant.WIPER_ONLY, 50.0f, ImGuiKnobFlags.NONE, 1);
|
||||
|
||||
ImGuiKnobs.knobFloat("Example Stepped Knob", EXAMPLE_STEPPED_KNOB_VAL, 0.0f, 10.0f, 0.2f, "%.1f", ImGuiKnobVariant.STEPPED, 50.0f, ImGuiKnobFlags.NONE, 1);
|
||||
ImGui.endChild();
|
||||
}
|
||||
|
||||
ImGui.end();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -14,6 +14,7 @@ public class Extra {
|
||||
private static final ImBoolean SHOW_IMGUI_MEMORY_EDITOR_WINDOW = new ImBoolean(false);
|
||||
private static final ImBoolean SHOW_IMGUI_CANVAS_EDITOR_WINDOW = new ImBoolean(false);
|
||||
private static final ImBoolean SHOW_IMGUI_INPUT_CALLBACK_WINDOW = new ImBoolean(false);
|
||||
private static final ImBoolean SHOW_IMGUI_KNOBS_DEMO = new ImBoolean(false);
|
||||
|
||||
private static final Graph GRAPH = new Graph();
|
||||
|
||||
@@ -30,6 +31,7 @@ public class Extra {
|
||||
ImGui.checkbox("Show ImGui MemoryEditor Demo Window", SHOW_IMGUI_MEMORY_EDITOR_WINDOW);
|
||||
ImGui.checkbox("Show ImGui Canvas Demo Window", SHOW_IMGUI_CANVAS_EDITOR_WINDOW);
|
||||
ImGui.checkbox("Show Imgui InputText Callback Window", SHOW_IMGUI_INPUT_CALLBACK_WINDOW);
|
||||
ImGui.checkbox("Show Imgui Knobs Demo", SHOW_IMGUI_KNOBS_DEMO);
|
||||
|
||||
if (SHOW_DEMO_WINDOW.get()) {
|
||||
ImGui.showDemoWindow(SHOW_DEMO_WINDOW);
|
||||
@@ -74,5 +76,9 @@ public class Extra {
|
||||
if (SHOW_IMGUI_INPUT_CALLBACK_WINDOW.get()) {
|
||||
ExampleInputTextCallback.show(SHOW_IMGUI_INPUT_CALLBACK_WINDOW);
|
||||
}
|
||||
|
||||
if (SHOW_IMGUI_KNOBS_DEMO.get()) {
|
||||
ExampleKnobs.show(SHOW_IMGUI_KNOBS_DEMO);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user