The WindowUtils interface provides a handful of functions to integrate the framework’s render loop and the renderer with the underlying windowing library’s events API.
It looks like this:
class WindowUtils
{
public:
static bool shouldRender() noexcept;
static void pollEvents(double& now, double& deltaTime, double& lastTime) noexcept;
// In milliseconds
static void waitEventsTimeout(double timeout) noexcept;
static void waitEvents() noexcept;
};
The event safety of all functions is set at post-begin.
There is also a C API, which is the same as the C++ one, but using standard C API semantics such as prefixing each function with UImGui_WindowUtils_, as defined here.