From cd2dd92549eb7207322cbf6e41dab5ff5f2220dc Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 2 Feb 2022 19:47:46 +0000 Subject: [PATCH] Implement clipboard for imgui Signed-off-by: falkTX --- plugins/Cardinal/src/ImGuiWidget.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/plugins/Cardinal/src/ImGuiWidget.cpp b/plugins/Cardinal/src/ImGuiWidget.cpp index f7c3446..58f476f 100644 --- a/plugins/Cardinal/src/ImGuiWidget.cpp +++ b/plugins/Cardinal/src/ImGuiWidget.cpp @@ -32,6 +32,16 @@ struct ImGuiWidget::PrivateData { float originalScaleFactor = 0.0f; float scaleFactor = 0.0f; + static const char* GetClipboardTextFn(void*) + { + return glfwGetClipboardString(nullptr); + } + + static void SetClipboardTextFn(void*, const char* const text) + { + glfwSetClipboardString(nullptr, text); + } + PrivateData() { IMGUI_CHECKVERSION(); @@ -64,6 +74,10 @@ struct ImGuiWidget::PrivateData { io.KeyMap[ImGuiKey_X] = GLFW_KEY_X; io.KeyMap[ImGuiKey_Y] = GLFW_KEY_Y; io.KeyMap[ImGuiKey_Z] = GLFW_KEY_Z; + + io.GetClipboardTextFn = GetClipboardTextFn; + io.SetClipboardTextFn = SetClipboardTextFn; + io.ClipboardUserData = this; } ~PrivateData()