Real-world examples

Documentation

The public API is available in the [imgui.api] module.

Memory Management

For efficiency reasons [imgui] will batch all commands and will render the current frame
once imguiRender is called. Calls to UI-defining functions such as imguiLabel will
store a reference to the passed-in string and will not draw the string immediately.

This means you should not pass in memory allocated on the stack unless you can guarantee that:

The memory on the stack will live up to the point imguiRender is called.

The memory passed to the UI-defining functions is unique for each call.

An example of both improper and proper memory management is shown in the [memory] example.

Building dimgui as a static library

Run [dub] alone in the root project directory to build dimgui as a static library: