nCine::IDebugOverlay class

Interface for an on-screen debug overlay.

Base class for overlays that draw diagnostic information on top of the rendered scene, such as profiler graphs, frame timings and informational text. Implementations are updated once per frame by the application and refresh their textual data no more often than the configured interval.

Derived classes

class ImGuiDebugOverlay
Debug overlay implemented with the ImGui interface.

Public types

struct DisplaySettings
Settings controlling which parts of the debug overlay are shown.

Constructors, destructors, conversion operators

IDebugOverlay(float profileTextUpdateTime) explicit
~IDebugOverlay() virtual
IDebugOverlay(const IDebugOverlay&) deleted

Public functions

auto operator=(const IDebugOverlay&) -> IDebugOverlay& deleted
auto GetSettings() -> DisplaySettings&
Returns the mutable display settings of the overlay.
void Update() pure virtual
Updates the overlay and draws it for the current frame.
void UpdateFrameTimings() pure virtual
Refreshes the cached frame timing values shown by the overlay.
void Log(TraceLevel level, StringView time, StringView threadId, StringView functionName, StringView message) pure virtual
Appends a trace log message to be displayed by the overlay.

Protected variables

DisplaySettings settings_
Display settings controlling which parts of the overlay are shown.
TimeStamp lastUpdateTime_
Time stamp of the last textual data update.
float updateTime_
Minimum interval in seconds between textual data updates.