{"id":17566640,"url":"https://github.com/spair/imgui-java","last_synced_at":"2025-05-14T16:13:46.029Z","repository":{"id":39710387,"uuid":"230802881","full_name":"SpaiR/imgui-java","owner":"SpaiR","description":"JNI based binding for Dear ImGui","archived":false,"fork":false,"pushed_at":"2025-03-17T09:56:02.000Z","size":259711,"stargazers_count":642,"open_issues_count":28,"forks_count":105,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-04-13T01:56:13.119Z","etag":null,"topics":["binding","dear-imgui","dearimgui","glfw","gui","imgui","imgui-java","java","jni","jvm","lwjgl","lwjgl3","native","opengl","opengl3","port","ui"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SpaiR.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"spair","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2019-12-29T21:01:06.000Z","updated_at":"2025-04-11T18:17:37.000Z","dependencies_parsed_at":"2023-09-29T08:49:07.508Z","dependency_job_id":"547d4749-52e1-4e86-886f-67b90f83467e","html_url":"https://github.com/SpaiR/imgui-java","commit_stats":{"total_commits":563,"total_committers":36,"mean_commits":15.63888888888889,"dds":"0.24689165186500883","last_synced_commit":"80ea84b34581310a0be1e40bf454ed3c16f84961"},"previous_names":[],"tags_count":71,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpaiR%2Fimgui-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpaiR%2Fimgui-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpaiR%2Fimgui-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpaiR%2Fimgui-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpaiR","download_url":"https://codeload.github.com/SpaiR/imgui-java/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248654050,"owners_count":21140235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binding","dear-imgui","dearimgui","glfw","gui","imgui","imgui-java","java","jni","jvm","lwjgl","lwjgl3","native","opengl","opengl3","port","ui"],"created_at":"2024-10-21T15:07:13.656Z","updated_at":"2025-04-13T01:56:25.285Z","avatar_url":"https://github.com/SpaiR.png","language":"Java","readme":"\u003cdiv align=\"center\"\u003e\n\n# ImGui Java\n\n**JNI based binding for [Dear ImGui](https://github.com/ocornut/imgui)**\n\n[![Github All Releases](https://img.shields.io/github/downloads/SpaiR/imgui-java/total.svg?logo=github)](https://github.com/SpaiR/imgui-java/releases)\n[![CI](https://github.com/SpaiR/imgui-java/actions/workflows/ci.yml/badge.svg)](https://github.com/SpaiR/imgui-java/actions/workflows/ci.yml)\u003cbr\u003e\n[![Maven Central](https://img.shields.io/maven-central/v/io.github.spair/imgui-java-binding?logo=apache-maven)](https://central.sonatype.com/search?q=io.github.spair++imgui-java)\n[![binding javadoc](https://javadoc.io/badge2/io.github.spair/imgui-java-binding/javadoc_binding.svg?logo=java)](https://javadoc.io/doc/io.github.spair/imgui-java-binding)\n[![app javadoc](https://javadoc.io/badge2/io.github.spair/imgui-java-app/javadoc_app.svg?logo=java)](https://javadoc.io/doc/io.github.spair/imgui-java-app)\n\n\u003c/div\u003e\n\n---\n\n### Features\n\n- **JNI based**\u003cbr\u003e\n  Native communication layer made with generated JNI code. No dependencies, no problems.\n- **Small and Efficient**\u003cbr\u003e\n  Binding has a small memory footprint and uses direct native calls to work.\u003cbr\u003e\n- **Fully Featured**\u003cbr\u003e\n  All public API was carefully implemented with Java usage in mind.\u003cbr\u003e\n- **Multi-Viewports / Docking Branch**\u003cbr\u003e\n  Binding has a full support of [Multi-Viewports](https://github.com/ocornut/imgui/wiki/Multi-Viewports) and [Docking](https://github.com/ocornut/imgui/wiki/Docking). \u003cbr\u003e\n- **FreeType Font Renderer**\u003cbr\u003e\n  FreeType font renderer provides a much better fonts quality. [See how to use](#freetype).\u003cbr\u003e\n- **Extensions**\u003cbr\u003e\n  Binding includes several useful [extensions](https://github.com/ocornut/imgui/wiki/Useful-Extensions) for Dear ImGui. [See full list](#extensions).\n\nTo understand how to use ImGui Java - read official [documentation](https://github.com/ocornut/imgui#usage) and [wiki](https://github.com/ocornut/imgui/wiki).\nBinding adopts C++ API for Java, but almost everything can be used in the same manner. \n\nImGui Java has a ready to use implementation for GLFW and OpenGL API using [LWJGL3](https://www.lwjgl.org/) library. See `imgui-lwjgl3` module.\u003cbr\u003e\nImplementation is optional to use. Advantage of Dear ImGui is total portability, so feel free to copy-paste classes or write your own implementations.\n\nAdditionally, there is an `imgui-app` module, which provides **a high abstraction layer**.\u003cbr\u003e\nIt hides all low-level code under one class to extend. With it, you can build your GUI application instantly.\n\n# Support\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/P5P5BF17Q)\n\nYou can support the project to motivate its further development.\n\n# How to Try\n\n_**Make sure you have installed \u003cu\u003eJDK 8\u003c/u\u003e or higher.**_\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://i.imgur.com/JjhR9in.png\"/\u003e\u003c/p\u003e\n\n### [Demo](https://i.imgur.com/c0ds1EZ.gif)\n\nYou can try binding by yourself in three simple steps:\n\n```\ngit clone git@github.com:SpaiR/imgui-java.git\ncd imgui-java\n./gradlew :example:run\n```\n\nSee `example` module to try other widgets in action.\n\n# How to Use\n\n**[ImGui in LWJGL YouTube video](https://youtu.be/Xq-eVcNtUbw)** by [GamesWithGabe](https://www.youtube.com/channel/UCQP4qSCj1eHMHisDDR4iPzw).\u003cbr\u003e\nYou can use this video as a basic step-by-step tutorial. It shows how to integrate binding with the usage of jar files.\u003cbr\u003e\nGradle and Maven dependencies could be used for this purpose as well.\n\nTake a note, that integration itself is a very flexible process. It could be done in one way or another. If you just need a framework for your GUI - use [Application](#application) module. \nOtherwise, if you need more control, the best way is not just to repeat steps, but to understand what each step does.\n\n### For macOS M-chip users\n\nThe macOS version of the binding is compiled as a universal binary. This means you can use it on both x86_64 and aarch64 platforms without any additional actions.\n\n## Application\n\nIf you don't care about OpenGL and other low-level stuff, then you can use application layer from `imgui-app` module.\nIt is a **one jar solution** which includes: GLFW, OpenGL and Dear ImGui itself. \nSo you only need **one dependency** line or **one jar in classpath** to make everything to work. \n\u003cins\u003eYou don't need to add separate dependencies to LWJGL or native libraries, since they are already included.\u003c/ins\u003e\n\n**Application module is the best choice if everything you care is the GUI itself.**\n\nAt the same time, Application gives options to override any life-cycle method it has. \nThat means that if you are seeking for a bit more low-level control - you can gain it as well.\n\n### Example\n\nA very simple application may look like this:\n```\nimport imgui.ImGui;\nimport imgui.app.Application;\nimport imgui.app.Configuration;\n\npublic class Main extends Application {\n    @Override\n    protected void configure(Configuration config) {\n        config.setTitle(\"Dear ImGui is Awesome!\");\n    }\n\n    @Override\n    public void process() {\n        ImGui.text(\"Hello, World!\");\n    }\n\n    public static void main(String[] args) {\n        launch(new Main());\n    }\n}\n```\n\nRead `imgui.app.Application` [javadoc](https://javadoc.io/doc/io.github.spair/imgui-java-app) to understand how it works under the hood.\n\n### Dependencies\n\n![Maven Central](https://img.shields.io/maven-central/v/io.github.spair/imgui-java-binding?color=green\u0026label=version\u0026style=flat-square)\n\n\u003cdetails\u003e\n        \u003csummary\u003e\u003cb\u003eGradle\u003c/b\u003e\u003c/summary\u003e\n\n```\nrepositories {\n    mavenCentral()\n}\n\ndependencies {\n    implementation \"io.github.spair:imgui-java-app:${version}\"\n}\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n        \u003csummary\u003e\u003cb\u003eMaven\u003c/b\u003e\u003c/summary\u003e\n\n```\n\u003cdependencies\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eio.github.spair\u003c/groupId\u003e\n        \u003cartifactId\u003eimgui-java-app\u003c/artifactId\u003e\n        \u003cversion\u003e${version}\u003c/version\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n        \u003csummary\u003e\u003cb\u003eRaw Jar\u003c/b\u003e\u003c/summary\u003e\n\n1. Go to the [release page](https://github.com/SpaiR/imgui-java/releases/latest);\n2. Download `java-libraries.zip`;\n3. Get `imgui-app-${version}-all.jar`;\n4. Add the jar to your classpath.\n\nJar with `all` classifier already contains `binding` and `lwjgl3` modules.\u003cbr\u003e\nIf you're using jar without the `all` classifier, add appropriate jars as well.\n\nBoth jars, with or without `all` classifier, have all required native libraries already.\n\n\u003c/details\u003e\n\n#### Java Module System\n\nIf using Java 9 modules, you will need to require the `imgui.app` module.\n\n## Binding\n\nUsing binding without `imgui-app` module requires to \"attach\" it to the application manually.\nYou can refer to `imgui-app` module to see how things are done there.\n\n### Dependencies\n\n![Maven Central](https://img.shields.io/maven-central/v/io.github.spair/imgui-java-binding?color=green\u0026label=version\u0026style=flat-square)\n\nFor simplicity, example of dependencies for Gradle / Maven only shows how to add natives for Windows. Feel free to add other platforms.\n\n| Native Binaries                | System      |\n|--------------------------------|-------------|\n| imgui-java-natives-windows     | Windows     |\n| imgui-java-natives-linux       | Linux       |\n| imgui-java-natives-macos       | macOS       |\n\nTake a note, that you also need to add dependencies to [LWJGL](https://www.lwjgl.org/) library. Examples below shows how to do it as well.\n\n\u003cdetails\u003e\n        \u003csummary\u003e\u003cb\u003eGradle\u003c/b\u003e\u003c/summary\u003e\n\n```\nrepositories {\n    mavenCentral()\n}\n\next {\n    lwjglVersion = '3.3.3'\n    imguiVersion = \"${version}\"\n}\n\ndependencies {\n    implementation platform(\"org.lwjgl:lwjgl-bom:$lwjglVersion\")\n\n    ['', '-opengl', '-glfw'].each {\n        implementation \"org.lwjgl:lwjgl$it:$lwjglVersion\"\n        implementation \"org.lwjgl:lwjgl$it::natives-windows\"\n    }\n    \n    implementation \"io.github.spair:imgui-java-binding:$imguiVersion\"\n    implementation \"io.github.spair:imgui-java-lwjgl3:$imguiVersion\"\n    \n    implementation \"io.github.spair:imgui-java-natives-windows:$imguiVersion\"\n}\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n        \u003csummary\u003e\u003cb\u003eMaven\u003c/b\u003e\u003c/summary\u003e\n\n```\n\u003cproperties\u003e\n    \u003clwjgl.version\u003e3.3.1\u003c/lwjgl.version\u003e\n    \u003cimgui.java.version\u003e${version}\u003c/imgui.java.version\u003e\n\u003c/properties\u003e\n\n\u003cdependencyManagement\u003e\n    \u003cdependencies\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eorg.lwjgl\u003c/groupId\u003e\n            \u003cartifactId\u003elwjgl-bom\u003c/artifactId\u003e\n            \u003cversion\u003e${lwjgl.version}\u003c/version\u003e\n            \u003cscope\u003eimport\u003c/scope\u003e\n            \u003ctype\u003epom\u003c/type\u003e\n        \u003c/dependency\u003e\n    \u003c/dependencies\u003e\n\u003c/dependencyManagement\u003e\n\n\u003cdependencies\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.lwjgl\u003c/groupId\u003e\n        \u003cartifactId\u003elwjgl\u003c/artifactId\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.lwjgl\u003c/groupId\u003e\n        \u003cartifactId\u003elwjgl-glfw\u003c/artifactId\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.lwjgl\u003c/groupId\u003e\n        \u003cartifactId\u003elwjgl-opengl\u003c/artifactId\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.lwjgl\u003c/groupId\u003e\n        \u003cartifactId\u003elwjgl\u003c/artifactId\u003e\n        \u003cclassifier\u003enatives-windows\u003c/classifier\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.lwjgl\u003c/groupId\u003e\n        \u003cartifactId\u003elwjgl-glfw\u003c/artifactId\u003e\n        \u003cclassifier\u003enatives-windows\u003c/classifier\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.lwjgl\u003c/groupId\u003e\n        \u003cartifactId\u003elwjgl-opengl\u003c/artifactId\u003e\n        \u003cclassifier\u003enatives-windows\u003c/classifier\u003e\n    \u003c/dependency\u003e\n    \n    \u003cdependency\u003e\n        \u003cgroupId\u003eio.github.spair\u003c/groupId\u003e\n        \u003cartifactId\u003eimgui-java-binding\u003c/artifactId\u003e\n        \u003cversion\u003e${imgui.java.version}\u003c/version\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eio.github.spair\u003c/groupId\u003e\n        \u003cartifactId\u003eimgui-java-lwjgl3\u003c/artifactId\u003e\n        \u003cversion\u003e${imgui.java.version}\u003c/version\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eio.github.spair\u003c/groupId\u003e\n        \u003cartifactId\u003eimgui-java-natives-windows\u003c/artifactId\u003e\n        \u003cversion\u003e${imgui.java.version}\u003c/version\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n        \u003csummary\u003e\u003cb\u003eRaw Jars\u003c/b\u003e\u003c/summary\u003e\n\n1. Go to the [release page](https://github.com/SpaiR/imgui-java/releases/latest);\n2. Download `java-libraries.zip` and `native-libraries.zip`;\n3. Get `imgui-binding-${version}.jar` and `imgui-lwjgl3-${version}.jar` from `java-libraries`, and binary libraries for required OS from `native-libraries` archive;\n4. Add jars to your classpath;\n5. Provide a VM option with location of files from the `native-libraries` archive.\n\nVM option example:\n- **-Dimgui.library.path=_${path}_**\n- **-Djava.library.path=_${path}_**\n\nBoth `imgui.library.path` and `java.library.path` are equal with the difference, that `java.library.path` is standard JVM option to provide native libraries.\n\n\u003c/details\u003e\n\n#### Java Module System\n\nIf using Java 9 modules, ImGui Java has Automatic Module Names:\n\n| Package                        | Module                    |\n|--------------------------------|---------------------------|\n| imgui-java-app                 | imgui.app                 |\n| imgui-java-binding             | imgui.binding             |\n| imgui-java-lwjgl3              | imgui.lwjgl3              |\n| imgui-java-natives-windows     | imgui.natives.windows     |\n| imgui-java-natives-linux       | imgui.natives.linux       |\n| imgui-java-natives-macos       | imgui.natives.macos       |\n\n## Extensions\n\nAll extensions are already included in the binding and can be used as it is.\nSee examples in the `example` module for more information about how to use them.\n\n- [ImNodes](https://github.com/Nelarius/imnodes/tree/857cc860af05ac0f6a4039c2af33d982377b6cf4) | [Example](https://github.com/SpaiR/imgui-java/blob/main/example/src/main/java/ExampleImNodes.java) \u003cbr\u003e\n  A small, dependency-free node editor for Dear ImGui. (A good choice for simple start.)\n- [imgui-node-editor](https://github.com/thedmd/imgui-node-editor/tree/687a72f940c76cf5064e13fe55fa0408c18fcbe4) | [Example](https://github.com/SpaiR/imgui-java/blob/main/example/src/main/java/ExampleImGuiNodeEditor.java) \u003cbr\u003e\n  Node Editor using ImGui. (A bit more complex than ImNodes, but has more features.)\n- [ImGuizmo](https://github.com/CedricGuillemet/ImGuizmo/tree/f7bbbe39971d9d45816417a70e9b53a0f698c56e) | [Example](https://github.com/SpaiR/imgui-java/blob/main/example/src/main/java/ExampleImGuizmo.java) \u003cbr\u003e\n  Immediate mode 3D gizmo for scene editing and other controls based on Dear ImGui.\n- [implot](https://github.com/epezent/implot/tree/555ff688a8134bc0c602123149abe9c17d577475) | [Example](https://github.com/SpaiR/imgui-java/blob/main/example/src/main/java/ExampleImPlot.java) \u003cbr\u003e\n  Advanced 2D Plotting for Dear ImGui.  \n- [ImGuiColorTextEdit](https://github.com/BalazsJako/ImGuiColorTextEdit/tree/0a88824f7de8d0bd11d8419066caa7d3469395c4) | [Example](https://github.com/SpaiR/imgui-java/blob/main/example/src/main/java/ExampleImGuiColorTextEdit.java) \u003cbr\u003e\n  Syntax highlighting text editor for ImGui.\n- [ImGuiFileDialog](https://github.com/aiekick/ImGuiFileDialog/tree/4d42dfba125cbd4780a90fbc5f75e7dfbae64060) | [Example](https://github.com/SpaiR/imgui-java/blob/main/example/src/main/java/ExampleImGuiFileDialog.java) \u003cbr\u003e\n  A file selection dialog built for ImGui.\n- [ImGui Club MemoryEditor](https://github.com/ocornut/imgui_club/tree/d4cd9896e15a03e92702a578586c3f91bbde01e8) | [Example](https://github.com/SpaiR/imgui-java/blob/main/example/src/main/java/ExampleImGuiMemoryEditor.java) \u003cbr\u003e\n  Memory editor and viewer for ImGui.\n\n## Freetype\n\nBy default, Dear ImGui uses stb-truetype to render fonts. However, there is an option to use the FreeType font renderer.\nTo learn about the differences, visit the [imgui_freetype](https://github.com/ocornut/imgui/tree/256594575d95d56dda616c544c509740e74906b4/misc/freetype) page.\n\nThis binding also supports the FreeType option. \nFreeType is statically pre-compiled into the library, meaning it is **included by default**.\nTo enable it use `ImFontAtlas#setFreeTypeRenderer(true)` method. This should be done before fonts atlas generation.\nhttps://github.com/SpaiR/imgui-java/blob/e822240115bb27ef0f399ccdf39613fb746f46be/example/src/main/java/Main.java#L46-L47\nTherefore, you can freely use `ImGuiFreeTypeBuilderFlags` in your font configuration.\n\nIf you prefer not to use the FreeType font renderer, you will need to build your own binaries and use them instead.\n\n# Binding Notice\n\nBinding was made with Java usage in mind. Some places of the original library were adapted for that.\u003cbr\u003e\nFor example, in places where in C++ you need to pass a reference value, in Java you pass primitive wrappers: `ImInt`, `ImFloat` etc.\u003cbr\u003e\n\nOne important thing is how natives structs work. All of them have a public field with a pointer to the natively allocated memory.\u003cbr\u003e\nBy changing the pointer it's possible to use the same Java instance to work with different native structs.\u003cbr\u003e\nMost of the time you can ignore this fact and just work with objects in a common way.\n\nRead [javadoc](https://javadoc.io/doc/io.github.spair/imgui-java-binding) and source comments to get more info about how to do specific stuff.\n\n# How to Build Native Libraries\n\nEnsure you've downloaded git submodules. That could be achieved:\n- When cloning the repository: `git clone --recurse-submodules https://github.com/SpaiR/imgui-java.git`\n- When the repository cloned: `git submodule init` and `git submodule update`\n\n### Windows\n\n - Make sure you have installed and **available in PATH**:\n    * JDK 8 or higher\n    * Ant\n    * Mingw-w64 (recommended way: use [MSYS2](https://www.msys2.org/) and install [mingw-w64-x86_64-toolchain](https://packages.msys2.org/group/mingw-w64-x86_64-toolchain) group)\n - Build with: `./gradlew imgui-binding:generateLibs -Denvs=windows -Dlocal`\n - Run with: `./gradlew example:run -PlibPath=\"../imgui-binding/build/libsNative/windows64\"`\n - Always use `-Dlocal` flag.\n \n### Linux\n\n - Install dependencies: `openjdk8`, `mingw-w64-gcc`, `ant`. (Package names could vary from system to system.)\n - Build with: `./gradlew imgui-binding:generateLibs -Denvs=linux -Dlocal`\n - Run with: `./gradlew example:run -PlibPath=../imgui-binding/build/libsNative/linux64`\n \n### macOS\n\n - Check dependencies from \"Linux\" section and make sure you have them installed.\n - Build with: `./gradlew imgui-binding:generateLibs -Denvs=macos -Dlocal`\n - Run with: `./gradlew example:run -PlibPath=../imgui-binding/build/libsNative/macosx64`\n \n### macOS (arm64)\n\n - Check dependencies from \"Linux\" section and make sure you have them installed.\n - Build with: `./gradlew imgui-binding:generateLibs -Denvs=macosarm64 -Dlocal`\n - Run with: `./gradlew example:run -PlibPath=../imgui-binding/build/libsNative/macosxarm64`\n\nIn `envs` parameter next values could be used `windows`, `linux` or `macos` or `macosarm64`.\n\n`-Dlocal` is optional and means that natives will be built under the `./imgui-binding/build/` folder. Otherwise `/tmp/imgui` folder will be used.\n\n## Freetype\n\nTo build a version of the libraries with FreeType, you need to run the `buildSrc/scripts/vendor_freetype.sh` script first. \nThis script configures the FreeType library to be statically compiled into your project.\n\n# License\n\nSee the LICENSE file for license rights and limitations (MIT).\n","funding_links":["https://ko-fi.com/spair","https://ko-fi.com/P5P5BF17Q"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspair%2Fimgui-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspair%2Fimgui-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspair%2Fimgui-java/lists"}