The UntitledImGuiTheme library, provides functions to load and save dear imgui themes to a YAML format, as well as a widget to edit the current theme.

Enabling the module

To enable the themes module, update your uvproj.yaml so that the spinners 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:
  theming: 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, in your source file, include the Modules.hpp like this:

#include <Modules/Modules.hpp>

Event safety

The entire module is flagged as event safe at All ready.

Testing out the module

When the theming module is enabled, the framework will automatically try to load the theme specified in the theme-location key of the Modules.yaml file. If the string is empty, or is set to nullptr from your code, the theme will not be loaded.

The theme-location string is prefixed by <Application config location>/Theme/ and postfixed with .theme.yaml, so if trying to load default the library will attempt to load <Application config location>/Theme/default.theme.yaml.

More information

The theme format is detailed here.

The library API is specified here.

C API

More info on the UntitledImGuiTheme library's C API can be found here.