Add dear_bindings

omar 2022-11-16 19:02:40 +01:00
parent aa42a54b38
commit 2f9f25de49

@ -1,16 +1,27 @@
## Index ## Index
- [Binding Generators](#binding-generators)
- [Language Bindings](#language-bindings) - [Language Bindings](#language-bindings)
- [Framework/Engine Bindings/Backends](#frameworkengine-bindingsbackends) - [Framework/Engine Bindings/Backends](#frameworkengine-bindingsbackends)
- [Miscellaneous](#Miscellaneous) - [Miscellaneous](#Miscellaneous)
- [Ports, Rewrites, Clones](#ports-rewrites-clones) - [Ports, Rewrites, Clones](#ports-rewrites-clones)
## Binding Generators
### cimgui
https://github.com/cimgui/cimgui
<BR>Output C API + output metadata (see `generator/output/` folder) which can be used to automatically generate other bindings.
### dear_bindings
https://github.com/dearimgui/dear_bindings
<BR>Dear Bindings is tool to generate a C API for Dear ImGui, and metadata so other languages can easily generate their own bindings on top.
----
## Language Bindings ## Language Bindings
Note: The [cimgui](https://github.com/cimgui/cimgui) project is designed to output metadata (see generator/output/ folder) which can be used to automatically generate bindings.
(2021-2022) We are working on "Dear Bindings" a new system to generate metadata for bindings to replace cimgui, please reach out if you are interested in joining the private alpha.
Note: those bindings may be more or less maintained, more or less close to the spirit of original API. People who create language bindings sometimes haven't used the C++ API themselves. Dear ImGui was designed for C++ and some of the subtleties may be lost in translation with other languages. If your language supports it, I would suggest replicating the function overloading and default parameters used in the original, else the API may be harder to use. In doubt, always check the original C++ version first! Note: those bindings may be more or less maintained, more or less close to the spirit of original API. People who create language bindings sometimes haven't used the C++ API themselves. Dear ImGui was designed for C++ and some of the subtleties may be lost in translation with other languages. If your language supports it, I would suggest replicating the function overloading and default parameters used in the original, else the API may be harder to use. In doubt, always check the original C++ version first!
Now on to the list... Now on to the list...
@ -18,7 +29,7 @@ Now on to the list...
| Language | Project | | Language | Project |
|------------|---| |------------|---|
| Beef | **imgui-beef**: auto-generated Beef wrapper library for Dear ImGui<br>https://github.com/RogueMacro/imgui-beef | Beef | **imgui-beef**: auto-generated Beef wrapper library for Dear ImGui<br>https://github.com/RogueMacro/imgui-beef
| C | **cimgui**: auto-generated c-api wrapper for Dear ImGui <br>\*\***(metadata output from cimgui can be used to automatically generate other bindings**)\*\*<br>https://github.com/cimgui/cimgui | | C | **cimgui**: auto-generated c-api wrapper for Dear ImGui <br>\*\***(metadata output from cimgui can be used to automatically generate other bindings**)\*\*<br>https://github.com/cimgui/cimgui<br><br>**dear_bindings**: auto-generated c-api wrapper for Dear ImGui <br>\*\***(metadata output from cimgui can be used to automatically generate other bindings**)\*\*<br>https://github.com/dearimgui/dear_bindings |
| C#/.Net | **ImGui.NET**: An ImGui wrapper for .NET Core <br>https://github.com/mellinoe/ImGui.NET | | C#/.Net | **ImGui.NET**: An ImGui wrapper for .NET Core <br>https://github.com/mellinoe/ImGui.NET |
| C++17 | **ImGuiWrapper**: CMakeList wrapper and C++17 RAII encapsulation for accessing Imgui | | C++17 | **ImGuiWrapper**: CMakeList wrapper and C++17 RAII encapsulation for accessing Imgui |
| ChaiScript | **imgui-chaiscript**: ChaiScript bindings for ImGui <br>https://github.com/JuJuBoSc/imgui-chaiscript | | ChaiScript | **imgui-chaiscript**: ChaiScript bindings for ImGui <br>https://github.com/JuJuBoSc/imgui-chaiscript |