JNI based binding for Dear ImGui
MIT License
Bot releases are visible (Hide)
long
type instead of int
by @SpaiR in https://github.com/SpaiR/imgui-java/pull/265
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.87.3...v1.87.4
Published by github-actions[bot] about 2 months ago
plot*
methods with count parameter for ImPlot extension in https://github.com/SpaiR/imgui-java/pull/264 (resolves #261)Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.87.2...v1.87.3
Published by github-actions[bot] 2 months ago
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.87.1...v1.87.2
Published by github-actions[bot] 2 months ago
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.87.0...v1.87.1
Published by github-actions[bot] 2 months ago
As part of PR #252, the versions of the main Dear ImGui module and the ImPlot extension have been upgraded. Initially, there was no plan to update the extension, but this became necessary due to compatibility issues.
It's important to note that both updates significantly change the way you interact with them. Therefore, it is HIGHLY recommended to review the corresponding release notes: Dear ImGui v1.87 and ImPlot v0.13.
Since updating Dear ImGui required changes to the backend code, a refactor was carried out on the ImGuiImplGlfw
and ImGuiImplGl3
classes. In addition to ensuring compatibility with the updated API, their code was aligned as closely as possible with the original code, within the constraints of the language. Which should make it easier to maintain these classes in the future.
As a small bonus, visibility modifiers have been revised. Now, all methods, except for the most internal ones, can be overridden. This should reduce the complexity of creating custom backends.
This is the first release made using the new API for binding generation. You can read more about it here: #240. From a user perspective, these changes should have minimal impact. In some areas, there are now more ways to interact with native methods, but overall, everything should remain more or less the same. This is definitely not the final version, and currently, there is a lack of documentation on how to interact with the API. These are issues that will be addressed in the future. If you encounter any problems, such as missing methods that were previously available or the absence of certain flags, please report them in the issue tracker.
In the previous release, FreeType became part of the compiled library, and was enabled by default. It was noted in #244 that this default renderer appears slightly worse on macOS. This highlighted the need to toggle this renderer on and off. More details can be found in PR #254.
ImGui.getIO().getFonts().setFreeTypeRenderer(true);
to enable FreeType renderer. STB_TrueType will be used by default.
- Dear ImGui from 1.86 to 1.87
- ImPlot from 0.12 to 0.13
- build(deps): bump com.gradleup.shadow from 7.1.2 to 8.3.0 by @SpaiR in https://github.com/SpaiR/imgui-java/pull/241
- build(deps): bump com.badlogicgames.gdx:gdx-jnigen from 2.4.0 to 2.5.1 by @SpaiR in https://github.com/SpaiR/imgui-java/pull/242
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.86.12...v1.87.0
Published by github-actions[bot] 3 months ago
This release adds support for the ARM64 architecture on macOS and includes FreeType integration by default. It also introduces a new extension for imgui-knobs (#211) and updates LWJGL to 3.3.4.
As a minor update, the project has moved to the MIT license. While Apache 2 is quite permissive, this is mostly my personal preference for a shorter licensing text.
Initial support was introduced in PRs #111, #112, #136, #190, and #223. The final PR has been merged.
Thanks to the author @rexfleischer and co-authors @Tom-Ski and @zly2006, whose PRs contributed to these changes. 🙏
In a subsequent PR #239, I refined the solution into its final version, which is included in this release.
As a result, the dylib built for the release is universal and can be used on both x86_64 and arm64 architectures. No additional actions or changes to dependencies are required from the user.
For more information, see the article on FreeType.
Initially, the binding provided two versions of the native part for the three main OSes. One was built with FreeType included, and the other without. The latter was primarily recommended, as the FreeType version required the library to be installed on the user's system (relevant only for Unix users). Starting with this release, FreeType is statically compiled into the native part of the library. Thus, there is no longer a need to install the library on the user's system.
In terms of impact, you will notice an overall improvement in font quality across all platforms. Additionally, you can start using the ImGuiFreeTypeBuilderFlags
for your purposes. (And colorful glyphs, yep 🍰). l No additional actions are required, as FreeType will be included by default.
Since there is no longer a need to maintain separate libraries without FreeType, the corresponding files have been removed from the bin folder and excluded from release artifacts.
-ft
suffix when integrating the library, you need to remove the suffix. In the new release, a separate module for the FreeType version is not provided, as it is included in the default module.
- build(deps): bump org.lwjgl:lwjgl-bom from 3.3.3 to 3.3.4
- build(deps): bump org.junit.jupiter:junit-jupiter-engine from 5.10.0 to 5.10.3
- build(deps): bump org.junit.jupiter:junit-jupiter-api from 5.10.0 to 5.10.3
- build(deps): bump actions/checkout from 3 to 4
- build(deps): bump actions/setup-java from 3 to 4
- build(deps): bump softprops/action-gh-release from 1 to 2
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.86.11...v1.86.12
Published by github-actions[bot] about 1 year ago
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.86.10...v1.86.11
Published by github-actions[bot] over 1 year ago
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.86.9...v1.86.10
Published by github-actions[bot] over 1 year ago
inputBuffer
in ImGuiTextFilter
in 4a5c587Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.86.8...v1.86.9
Published by github-actions[bot] over 1 year ago
imgui.type
classes to implement Comparable<>
interface in 25fc8bae8f6c5b358b0b554123637ba4097ebaa3imgui.type
which are represent numbers to extend Number
class in d8f8f41a763b068e29d61d39527c0b2c562c8e64ImGuiInputTextCallback
is null in bf92f04c2104f72219de6d2fd0bfa7f1dd50ffcd (Fixes #158)Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.86.7...v1.86.8
Published by github-actions[bot] over 1 year ago
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.86.6...v1.86.7
Published by github-actions[bot] almost 2 years ago
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.86.5...v1.86.6
Published by github-actions[bot] almost 2 years ago
This is mostly a maintenance release to target CI problems and add minor tweaks and fixes.
CI was refactored and simplified. Now it became much easier to push new releases.
From the user perspective - all release artefacts are now located in zip files.
java-libraries.zip
- contains all jars with sources and javadocs;native-libraries.zip
- contains all native libraries required for ImGui Java binding;native-libraries-with-freetype.zip
- same as native-libraries.zip
, but libraries are built to use with FreeType font renderer.calcTextSize
to be used in a static context by @davfsa in https://github.com/SpaiR/imgui-java/pull/143
setNextPlotFormatY
in https://github.com/SpaiR/imgui-java/commit/142e3129719349409ea1fe59c807c954a88b8642
ImColor
helper in https://github.com/SpaiR/imgui-java/commit/ff9b88ddbbfbd936e55150e3119da4af8eb0edaf
imgui-java-app
in https://github.com/SpaiR/imgui-java/commit/8a560ca4398cf7865c084b1ceec9bdbad9e29f17
ImVec2
and ImVec4
in https://github.com/SpaiR/imgui-java/commit/47baed3b42195ef966a6d864a8cd6490f47c04a9
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.86.4...v1.86.5
To justify, why there is no major updates in binding, like updating to the latest Dear ImGui version, it's required to say about future plans:
After those things - yeah, ImGui Java and all of its extensions will be updated to the latest versions for sure. 😊
Published by github-actions[bot] over 2 years ago
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.86.3...v1.86.4
Published by github-actions[bot] over 2 years ago
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.86.2...v1.86.3
Published by github-actions[bot] over 2 years ago
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.86.1...v1.86.2
fefac80
- [API] Memory editor extension (#110)Published by github-actions[bot] over 2 years ago
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.86.0...v1.86.1
Published by github-actions[bot] almost 3 years ago
Consider reading the official changelog to see other Dear ImGui changes.
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.85.1...v1.86.0
Published by github-actions[bot] almost 3 years ago
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.85.0...v1.85.1
Published by github-actions[bot] almost 3 years ago
Consider reading the official changelog to see other Dear ImGui changes.
Full Changelog: https://github.com/SpaiR/imgui-java/compare/v1.84.1.0...v1.85.0