Note
These bindings are currently being re-written for package version 1.0.0. There will be moderate API changes, support for many more ImGui backends, and bindings of imgui_internal.h.
D binding to CImgui with additional OpenGL and SDL backends
To add bindbc-imgui to your project run
dub add bindbc-imgui
bindbc-imgui will currently build it's own dependencies. We've found that distributing deps for all possible targets too onerous, and so instead now depend on an existing toolchain and tools. That said, we're open to contributions for doing this in a more traditional way across platforms, but we're experiementing with this to make development of inochi-creator (and it's related projects) easier.
These configs have been developed to ease the use of this project in inochi-creator. Happy to accept PRs for additional configs with alternate goals. But we'd like to avoid (if this works how we're hoping) attempting to distribute binaries within our git source going forward.
Statically linked cimgui, dynamically linked C/C++ runtime libraries.
Statically linked cimgui, statically linked C/C++ runtime libraries.
- Please note that you may run afoul of licensing issues using this configuration, due to glibc being under the LGPL.
Dynamically linked cimgui, dynamically linked C/C++ runtime libraries.
Dynamically linked cimgui, statically linked C/C++ runtime libraries.
- Please note that you may run afoul of licensing issues using this configuration, due to glibc being under the LGPL.
- Visual Studio 2022 (With "Desktop development with C++" workflow installed)
- In theory, "Build Tools for Visual Studio 2022" should also work, but is untested.
- CMake (Currently 3.16 or higher is needed.)
- Dlang, either dmd or ldc
- The equivalent of build-essential on Ubuntu, on centos 7, this was
sudo yum groupinstall 'Development Tools'
, this should get you a working C++ toolchain. - Dlang, either dmd or ldc
- CMake (Currently 3.16 or higher is needed.)
- SDL2 (developer package)
- Freetype (developer package)
- appimagetool (for building an AppImage)
- Currently only the dynamic version of the library works on macOS, you will additionally need
MACOSX_DEPLOYMENT_TARGET=11
to avoid pointer alignment linking errors on macOS (for now) - Only LDC2 is supported.
- You will need CMake installed to build this project.
- You will additionally need to set it up for command line use, see
Tools->How to Install For Command Line Use
in the CMake GUI
- You will additionally need to set it up for command line use, see
To select backends use the versions
directive in your dub package file
Current backends are: USE_GL
, USE_SDL2
(depends on bindbc-sdl) and USE_GLFW
(depends on bindbc-glfw).
To run the examples go in to the examples
directory and compile the example in question.