c-api for imgui (https://github.com/ocornut/imgui) Look at: https://github.com/cimgui for other widgets
This is a thin c-api wrapper programmatically generated for the excellent C++ immediate mode gui Dear ImGui.
All imgui.h functions are programmatically wrapped.
Generated files are: cimgui.cpp
, cimgui.h
for C compilation. Also for helping in bindings creation, definitions.lua
with function definition information and structs_and_enums.lua
.
This library is intended as a intermediate layer to be able to use Dear ImGui from other languages that can interface with C (like D - see D-binding)
History:
Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit)
Notes:
clone
git clone --recursive https://github.com/cimgui/cimgui.git
git submodule update --init --recursive
(If already cloned)compile
For compiling with backends there are now examples with SDL2 and opengl3/vulkan in folder backend_test. They'll generate a cimgui_sdl module and a test_sdl executable.
imgui
folder to the version you desire.generator/generator.bat
on windows, or generator/generator.sh
on linux, to choose between gcc, clang, or cl and to choose desired backends and whether imgui_internal is generated or not, Freetype2 is used or not and comments are generated or notcimgui.cpp
, cimgui.h
and cimgui_impl.h
for compiling and some lua/json files with information about the binding: definitions.json
with function info, structs_and_enums.json
with struct and enum info, impl_definitions.json
with functions from the backends info.cd cimgui/generator
is used before luajit call. See https://github.com/cimgui/cimgui/issues/232#issuecomment-1497059497
ig