This page showcases a bunch of small features that are really useful.

ImGui and rendering

While dear imgui provides a lot of features, we decided to add some additional features on top of it to improve the development experience.

Overrides for functions with bool* p_open

Each UI component has a ComponentState enum member that looks like this:

enum UImGui_ComponentState
{
    UIMGUI_COMPONENT_STATE_PAUSED,
    UIMGUI_COMPONENT_STATE_RUNNING,
    UIMGUI_COMPONENT_STATE_OFF,
};

When set to RUNNING(the default mode) it's shown to the screen. If set to PAUSED it's not shown but is expected to be rendered at some point. If set to OFF it's not supposed to be active.


Since UI components have this state enum, we can use it to enable/disable rendering of components. Because it's an enum, however, we cannot pass it directly as p_open since dear imgui requires p_open to be a bool*.

To fix this, we have added additional overrides that take a void* to enable you to use the state enum directly without casting the pointer. The functions can be seen on our dear imgui fork here.