The imgui-knobs library provides knob widgets to dear imgui like these:

knobs

Enabling the module

To enable the knobs module, update your uvproj.yaml so that the knobs key under enabled-modules is set to true like this:

name: "MyProject"
version: "1.0.0.0"
engine-version: "1.0.0.0"
enabled-modules:
  knobs: true

Then, regenerate the modules cache by running the following command:

user $ https://madladsquad.com/UVKBuildTool --generate <project directory>

After that, refresh your CMake project with cmake ..!


Next, include the Modules.hpp header in your components, like this:

#include <Modules/Modules.hpp>

Event safety

The entire module is flagged as event safe at All ready

Testing out the module

In one of your widgets, add the following code to your tick function:

static float value = 0;

if (ImGuiKnobs::Knob("Volume", &value, -6.0f, 6.0f, 0.1f, "%.1fdB", ImGuiKnobVariant_Tick)) {
    // value was changed
}

Compile and run.

Learning the module

To learn more about the knobs module, navigate to the imgui-knobs GitHub repository.

Checking for the module

To check for the module at compile time, use the UIMGUI_KNOBS_MODULE_ENABLED macro.

Runtime checking can be done using the knobs member of the ModuleSettings struct. More info can be found here.

C API

We provide a C API for the knobs module as part of the cimgui_extra project. To use it, simply include #include <cimgui_extra/cimgui-knobs.h>.