summaryrefslogtreecommitdiffstats
path: root/Imgui/src/ImGuiImplLinuxXCB.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Imgui/src/ImGuiImplLinuxXCB.cpp')
-rw-r--r--Imgui/src/ImGuiImplLinuxXCB.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/Imgui/src/ImGuiImplLinuxXCB.cpp b/Imgui/src/ImGuiImplLinuxXCB.cpp
index 8d3a0dc..de9777d 100644
--- a/Imgui/src/ImGuiImplLinuxXCB.cpp
+++ b/Imgui/src/ImGuiImplLinuxXCB.cpp
@@ -84,6 +84,8 @@ ImGuiImplLinuxXCB::ImGuiImplLinuxXCB(xcb_connection_t* connection,
io.KeyMap[ImGuiKey_X] = 'X';
io.KeyMap[ImGuiKey_Y] = 'Y';
io.KeyMap[ImGuiKey_Z] = 'Z';
+
+ m_LastTimestamp = std::chrono::high_resolution_clock::now();
}
ImGuiImplLinuxXCB::~ImGuiImplLinuxXCB()
@@ -96,7 +98,12 @@ ImGuiImplLinuxXCB::~ImGuiImplLinuxXCB()
void ImGuiImplLinuxXCB::NewFrame()
{
- //ImGui_ImplWin32_NewFrame();
+ auto now = std::chrono::high_resolution_clock::now();
+ auto elapsed_ns = now - m_LastTimestamp;
+ m_LastTimestamp = now;
+ auto& io = ImGui::GetIO();
+ io.DeltaTime = static_cast<float>(elapsed_ns.count() / 1e+9);
+
ImGuiImplDiligent::NewFrame();
}
@@ -208,10 +215,10 @@ void ImGuiImplLinuxXCB::HandleKeyEvent(xcb_key_release_event_t* event)
}
}
}
-
+
io.AddInputCharacter(keysym);
}
- }
+ }
}
if (k != 0)