diff --git a/README.md b/README.md index 7fa52f1..8fbae94 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ JNI based binding for [Dear ImGui](https://github.com/ocornut/imgui) with no dep Please read **Binding Notice** to get more info about java-specific things of the API.
See official [documentation](https://github.com/ocornut/imgui#usage) and [wiki](https://github.com/ocornut/imgui/wiki) to get more info about how to do things in Dear ImGui. -Binding provides all the data you need to render Dear ImGui. If, for some reason, you want to use your own backend renderer, see [ImGuiImplGl3](https://github.com/SpaiR/imgui-java/blob/v1.77-0.17.2/imgui-lwjgl3/src/main/java/imgui/gl3/ImGuiImplGl3.java) for reference. +Binding provides all the data you need to render Dear ImGui. If, for some reason, you want to use your own backend renderer, see [ImGuiImplGl3](https://github.com/SpaiR/imgui-java/blob/v1.78-1.0/imgui-lwjgl3/src/main/java/imgui/gl3/ImGuiImplGl3.java) for reference. Versioning semantic of the binding: `imguiVersion-bindingVersion`.
For example `1.74-0.1` means that imgui-java uses `1.74` version of Dear ImGui and binding itself has the version `0.1`. @@ -21,12 +21,12 @@ _Make sure you have installed Java 8 or higher._ You can try Dear ImGui with Java by yourself in a three simple steps: ``` -git clone --branch v1.77-0.17.2 https://github.com/SpaiR/imgui-java.git +git clone --branch v1.78-1.0 https://github.com/SpaiR/imgui-java.git cd imgui-java gradlew :imgui-lwjgl3:startExample ``` -That's all! You will start an example app [ImGuiGlfwExample](https://github.com/SpaiR/imgui-java/blob/v1.77-0.17.2/imgui-lwjgl3/src/test/java/ImGuiGlfwExample.java). Feel free to modify [ExampleUi](https://github.com/SpaiR/imgui-java/blob/v1.77-0.17.2/imgui-lwjgl3/src/test/java/ExampleUi.java) class to try different Dear ImGui widgets in action. +That's all! You will start an example app [ImGuiGlfwExample](https://github.com/SpaiR/imgui-java/blob/v1.78-1.0/imgui-lwjgl3/src/test/java/ImGuiGlfwExample.java). Feel free to modify [ExampleUi](https://github.com/SpaiR/imgui-java/blob/v1.78-1.0/imgui-lwjgl3/src/test/java/ExampleUi.java) class to try different Dear ImGui widgets in action. ![imgui-java demo](https://i.imgur.com/ljAhD7a.gif) @@ -43,31 +43,34 @@ repositories { ext { lwjglVersion = '3.2.3' - imguiVersion = '1.77-0.17.2' + imguiVersion = '1.78-1.0' } switch (OperatingSystem.current()) { case OperatingSystem.LINUX: - project.ext.natives = "natives-linux" + project.ext.imguiNatives = "imgui-java-natives-linux" + project.ext.lwjglNatives = "natives-linux" break case OperatingSystem.MAC_OS: - project.ext.natives = "natives-macos" + project.ext.imguiNatives = "imgui-java-natives-macos" + project.ext.lwjglNatives = "natives-macos" break case OperatingSystem.WINDOWS: - project.ext.natives = System.getProperty("os.arch").contains("64") ? "natives-windows" : "natives-windows-x86" + project.ext.imguiNatives = System.getProperty("os.arch").contains("64") ? "imgui-java-natives-windows" : "imgui-java-natives-windows-x86" + project.ext.lwjglNatives = System.getProperty("os.arch").contains("64") ? "natives-windows" : "natives-windows-x86" break } dependencies { - implementation "io.imgui.java:binding:$imguiVersion" - implementation "io.imgui.java:lwjgl3:$imguiVersion" - runtimeOnly "io.imgui.java:$natives:$imguiVersion" + implementation "io.imgui.java:imgui-java-binding:$imguiVersion" + implementation "io.imgui.java:imgui-java-lwjgl3:$imguiVersion" + runtimeOnly "io.imgui.java:$imguiNatives:$imguiVersion" implementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion") ['', '-opengl', '-glfw'].each { implementation "org.lwjgl:lwjgl$it:$lwjglVersion" - runtimeOnly "org.lwjgl:lwjgl$it::$natives" + runtimeOnly "org.lwjgl:lwjgl$it::$lwjglNatives" } } ``` @@ -87,14 +90,14 @@ dependencies { 3.2.3 - 1.77-0.17.2 + 1.78-1.0 - lwjgl-natives-linux-amd64 + natives-linux-amd64 unix @@ -102,11 +105,12 @@ dependencies { - natives-linux + imgui-java-natives-linux + natives-linux - lwjgl-natives-macos-amd64 + natives-macos-amd64 mac @@ -114,11 +118,12 @@ dependencies { - natives-macos + imgui-java-natives-macos + natives-macos - lwjgl-natives-windows-amd64 + natives-windows-amd64 windows @@ -126,11 +131,12 @@ dependencies { - natives-windows + imgui-java-natives-windows + natives-windows - lwjgl-natives-windows-x86 + natives-windows-x86 windows @@ -138,7 +144,8 @@ dependencies { - natives-windows-x86 + imgui-java-natives-windows-x86 + natives-windows-x86 @@ -169,7 +176,7 @@ dependencies { io.imgui.java - ${natives} + ${imguiNatives} ${imgui.java.version} @@ -189,17 +196,17 @@ dependencies { org.lwjgl lwjgl - ${natives} + ${lwjglNatives} org.lwjgl lwjgl-glfw - ${natives} + ${lwjglNatives} org.lwjgl lwjgl-opengl - ${natives} + ${lwjglNatives} ``` @@ -234,7 +241,7 @@ Take a note that multi-viewports api is **VERY** complex to implement. It's high Otherwise, if you're using your own backed implementation, there are no guarantees it will work. ## Using FreeType -Dear ImGui by default uses a stb_strutype library to render a fonts atlas. It's possible to use FreeType instead to get better fonts quality. See an example in [ImGuiGlfwExample](https://github.com/spair/imgui-java/blob/v1.77-0.17.2/imgui-lwjgl3/src/test/java/ImGuiGlfwExample.java). [Read more](https://github.com/ocornut/imgui/blob/v1.76/misc/freetype/README.md) +Dear ImGui by default uses a stb_strutype library to render a fonts atlas. It's possible to use FreeType instead to get better fonts quality. See an example in [ImGuiGlfwExample](https://github.com/spair/imgui-java/blob/v1.78-1.0/imgui-lwjgl3/src/test/java/ImGuiGlfwExample.java). [Read more](https://github.com/ocornut/imgui/blob/v1.78/misc/freetype/README.md) ## Binding Notice * All Dear ImGui methods are available in `camelCase`, not in `PascalCase`. diff --git a/bin/imgui-java.dll b/bin/imgui-java.dll index 9d8edb0..d113b27 100755 Binary files a/bin/imgui-java.dll and b/bin/imgui-java.dll differ diff --git a/bin/imgui-java64.dll b/bin/imgui-java64.dll index 7c0b8f9..1a08435 100755 Binary files a/bin/imgui-java64.dll and b/bin/imgui-java64.dll differ diff --git a/bin/libimgui-java.so b/bin/libimgui-java.so index 135c6f1..fba5447 100755 Binary files a/bin/libimgui-java.so and b/bin/libimgui-java.so differ diff --git a/bin/libimgui-java64.dylib b/bin/libimgui-java64.dylib index d5bdc32..c103fa0 100644 Binary files a/bin/libimgui-java64.dylib and b/bin/libimgui-java64.dylib differ diff --git a/bin/libimgui-java64.so b/bin/libimgui-java64.so index f26518f..8806c33 100755 Binary files a/bin/libimgui-java64.so and b/bin/libimgui-java64.so differ diff --git a/gradle.properties b/gradle.properties index fa5df12..feaeaf4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -version=1.77-0.17.2 +version=1.78-1.0