From 92a9d43876d9517d8758ca4f295c3c84af56b0c5 Mon Sep 17 00:00:00 2001 From: SpaiR Date: Sun, 12 Jul 2020 15:07:35 +0300 Subject: [PATCH] Add shortcut methods to add/remove config/backend flags --- .../src/main/java/imgui/ImGuiIO.java | 27 +++++++++++++++++++ .../main/java/imgui/glfw/ImGuiImplGlfw.java | 2 +- .../src/test/java/ImGuiGlfwExample.java | 2 +- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/imgui-binding/src/main/java/imgui/ImGuiIO.java b/imgui-binding/src/main/java/imgui/ImGuiIO.java index e4e3de2..4549b0c 100644 --- a/imgui-binding/src/main/java/imgui/ImGuiIO.java +++ b/imgui-binding/src/main/java/imgui/ImGuiIO.java @@ -38,6 +38,20 @@ public final class ImGuiIO { ImGui::GetIO().ConfigFlags = configFlags; */ + /** + * See ImGuiConfigFlags enum. Set by user/application. Gamepad/keyboard navigation options, etc. + */ + public void addConfigFlags(int configFlags) { + setConfigFlags(getConfigFlags() | configFlags); + } + + /** + * See ImGuiConfigFlags enum. Set by user/application. Gamepad/keyboard navigation options, etc. + */ + public void removeConfigFlags(int configFlags) { + setConfigFlags(getConfigFlags() & ~(configFlags)); + } + /** * See ImGuiBackendFlags enum. Set by back-end to communicate features supported by the back-end. */ @@ -52,6 +66,19 @@ public final class ImGuiIO { ImGui::GetIO().BackendFlags = backendFlags; */ + /** + * See ImGuiBackendFlags enum. Set by back-end to communicate features supported by the back-end. + */ + public void addBackendFlags(int backendFlags) { + setBackendFlags(getBackendFlags() | backendFlags); + } + + /** + * See ImGuiBackendFlags enum. Set by back-end to communicate features supported by the back-end. + */ + public void removeBackendFlags(int backendFlags) { + setBackendFlags(getBackendFlags() & ~(backendFlags)); + } /** * Minimum time between saving positions/sizes to .ini file, in seconds. diff --git a/imgui-lwjgl3/src/main/java/imgui/glfw/ImGuiImplGlfw.java b/imgui-lwjgl3/src/main/java/imgui/glfw/ImGuiImplGlfw.java index af98ec2..b39c09e 100644 --- a/imgui-lwjgl3/src/main/java/imgui/glfw/ImGuiImplGlfw.java +++ b/imgui-lwjgl3/src/main/java/imgui/glfw/ImGuiImplGlfw.java @@ -193,7 +193,7 @@ public class ImGuiImplGlfw { final ImGuiIO io = ImGui.getIO(); - io.setBackendFlags(ImGuiBackendFlags.HasMouseCursors | ImGuiBackendFlags.HasSetMousePos); + io.addBackendFlags(ImGuiBackendFlags.HasMouseCursors | ImGuiBackendFlags.HasSetMousePos); io.setBackendPlatformName("imgui_java_impl_glfw"); // Keyboard mapping. ImGui will use those indices to peek into the io.KeysDown[] array. diff --git a/imgui-lwjgl3/src/test/java/ImGuiGlfwExample.java b/imgui-lwjgl3/src/test/java/ImGuiGlfwExample.java index bd0aedc..8ba4de1 100644 --- a/imgui-lwjgl3/src/test/java/ImGuiGlfwExample.java +++ b/imgui-lwjgl3/src/test/java/ImGuiGlfwExample.java @@ -167,7 +167,7 @@ public final class ImGuiGlfwExample { final ImGuiIO io = ImGui.getIO(); io.setIniFilename(null); // We don't want to save .ini file - io.setConfigFlags(ImGuiConfigFlags.NavEnableKeyboard | ImGuiConfigFlags.DockingEnable); // Navigation with keyboard and enabled docking + io.addConfigFlags(ImGuiConfigFlags.NavEnableKeyboard | ImGuiConfigFlags.DockingEnable); // Navigation with keyboard and enabled docking // ------------------------------------------------------------ // Fonts configuration