This project demonstrates how to use cimgui-go with a custom backend. The code is a carbon-copy of https://github.com/inkyblackness/imgui-go-examples but uses cimgui-go instead of imgui-go
- Only the GLFW backend have been implemented, the SDL2 version is not converted yet
- Clipboard support is not implemented
The project follows the basic concept of the examples of Dear ImGui by separating platform and renderer bindings from the example applications that wire them together in compatible constellations.
cmd
contains the main functions of the example applications. They typically combine a platform with a renderer.internal
contains the reusable library componentsplatforms
contains code for mouse/keyboard/gamepad inputs, cursor shape, timing, windowing. For example based on: GLFW3 and SDL2.renderers
contains code for creating the main font texture, rendering imgui draw data. For example using: OpenGL (both v2.1 (fixed pipe) and v3.2 (shaders) via glow generated binding code)example
contains the common example code.demo
contains the portedimgui_demo.cpp
code to showcase what is wrapped.
Some platforms and/or renderers may require dedicated build flags to be passed.
Each example comes with a separate README.md
that describes how to run them.
Build flags are used in order to avoid compiling all the libraries at once.
The project is available under the terms of the New BSD License (see LICENSE file).