- Enable IMGUI_USE_WCHAR32 in imconfig.h (ImWchar = uint32_t)
- Extend ImFontGlyphRangesBuilder, ImFontConfig, ImFontAtlas for 32-bit codepoints
- Cross-compile natives for macOS universal, Linux x86_64 (glibc), Windows x86_64
- Publish as org.nnstd.imgui:...:1.90.0-wchar32+mrlokop2 to mvn.mrlokop.dev
- Add BUILDING.md with full rebuild and publish instructions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* deps(build): bump FreeType from 2.12.1 to 2.13.3
* fix(generator): add missing ImGuiFreeTypeBuilderFlags
* feat(generator): add possibility to provide additional defines specifically for AST
* feat(api): make FreeType optional and disabled by default
FreeType renderer is still included in the final build.
Its usage is toggleable and DISABLED by default.
build(ci): make "Compare Binding Hash" job also took into account generated and include folders
build(ci): add JDK 11 to the setup-java pipeline
This is required for the buildSrc module, since it uses "spoon" library, which is compiled for JDK11.
build(ci): keep only JDK11
- Add source ant target compatibility output to the MANIFEST.mf file
build: add auto-provisioning for JDK
just in case
A squash of hundreds of commits with a binding API generator.
The API generator works with a hybrid model:
1. We define methods and fields in the code.
2. Mark them with API annotations.
3. For specific use cases, we use the old approach with JNI generation comments.
There is also an API to generate an AST tree, which is saved to JSON.
This JSON can be used for full API generation by declaring only field/method names.
Currently, it is used to generate constants.
By eyeballing, 95% of the API has been converted to the new approach.
This is sufficient for the current moment. Only edge cases with specific API calls are left.
fix: ambiguous call for ImGui::GetColorU32
build: disable checkstyle for imgui-binding module
Since the module is heavily generated, checkstyle for it doesn't make sense.
build: make buildSrc to use JDK 11
build: make generateApi optional when compiling project
Initially generated module was not included to the project VCS.
Since it's now in the separate src folder, we don't need to call generator every time.
Only when a new generation result is required.
resolve#75resolve#127
Removed shadowing for `imgui-java-app.jar` which is published to Maven Central.
Shadow Jar now has a prefix `-all` - for those one who prefer to use raw jars instead dependencies in maven/gradle.
* [Build] CI refactor
* [Build] Fix GenerateLibs
* [Build] Up actions/checkout@v3
* [Build] Remove actions/gradle-build-action
* [Build] Uncomment publish/release jobs
* [Build] Delete obsolete jobs
* [Build] Add more info to the jar manifest
* [Build] Make checkout to fetch tags
* [Build] Return job to update binaries
* [Doc] Update README
In order to use imgui-java with the lwjgl 3.3.0 without errors there is need for an update.
To remove code duplication when changing dependencies,
an lwjgl.bom variable was added.
Fixes: #95
- update lwjgl version from 3.2.3 to 3.3.0 across all submodules