41 lines
888 B
C++
41 lines
888 B
C++
#include "FPSModule.h"
|
|
|
|
#include <atomic>
|
|
|
|
#include "helpers.h"
|
|
|
|
namespace {
|
|
|
|
std::atomic<bool> g_fps_overlay_enabled{false};
|
|
|
|
} // namespace
|
|
|
|
FPSModule::FPSModule()
|
|
: BaseModule("FPSModule", "FPSModule", ModuleCategory::Visual) {}
|
|
|
|
void FPSModule::RegisterTab() {
|
|
overlay_enabled_ = false;
|
|
SetEnabled(false);
|
|
g_fps_overlay_enabled.store(false, std::memory_order_relaxed);
|
|
}
|
|
|
|
void FPSModule::Render() {
|
|
if (!ImGui::CollapsingHeader(Tr("FPSModule"), ImGuiTreeNodeFlags_DefaultOpen)) {
|
|
return;
|
|
}
|
|
|
|
bool enabled = Enabled();
|
|
if (ImGui::Checkbox(Tr("ON / OFF"), &enabled)) {
|
|
SetEnabled(enabled);
|
|
}
|
|
}
|
|
|
|
void FPSModule::Update() {
|
|
overlay_enabled_ = Enabled();
|
|
g_fps_overlay_enabled.store(overlay_enabled_, std::memory_order_relaxed);
|
|
}
|
|
|
|
bool IsFPSOverlayEnabled() {
|
|
return g_fps_overlay_enabled.load(std::memory_order_relaxed);
|
|
}
|