mirror of
https://github.com/Drezil/imgui.git
synced 2025-03-27 22:42:43 +00:00
Merge 20a0fde0124c08a7ead82357c9346acec0bafda6 Tidying up default clipboard handler for non Windows-OS (from Nav branch)
This commit is contained in:
parent
50b3a14d0a
commit
2ad2190d47
19
imgui.cpp
19
imgui.cpp
@ -2391,11 +2391,7 @@ void ImGui::Shutdown()
|
|||||||
for (int i = 0; i < IM_ARRAYSIZE(g.RenderDrawLists); i++)
|
for (int i = 0; i < IM_ARRAYSIZE(g.RenderDrawLists); i++)
|
||||||
g.RenderDrawLists[i].clear();
|
g.RenderDrawLists[i].clear();
|
||||||
g.OverlayDrawList.ClearFreeMemory();
|
g.OverlayDrawList.ClearFreeMemory();
|
||||||
if (g.PrivateClipboard)
|
g.PrivateClipboard.clear();
|
||||||
{
|
|
||||||
ImGui::MemFree(g.PrivateClipboard);
|
|
||||||
g.PrivateClipboard = NULL;
|
|
||||||
}
|
|
||||||
g.InputTextState.Text.clear();
|
g.InputTextState.Text.clear();
|
||||||
g.InputTextState.InitialText.clear();
|
g.InputTextState.InitialText.clear();
|
||||||
g.InputTextState.TempTextBuffer.clear();
|
g.InputTextState.TempTextBuffer.clear();
|
||||||
@ -10297,21 +10293,18 @@ static void SetClipboardTextFn_DefaultImpl(void*, const char* text)
|
|||||||
// Local ImGui-only clipboard implementation, if user hasn't defined better clipboard handlers
|
// Local ImGui-only clipboard implementation, if user hasn't defined better clipboard handlers
|
||||||
static const char* GetClipboardTextFn_DefaultImpl(void*)
|
static const char* GetClipboardTextFn_DefaultImpl(void*)
|
||||||
{
|
{
|
||||||
return GImGui->PrivateClipboard;
|
ImGuiContext& g = *GImGui;
|
||||||
|
return g.PrivateClipboard.empty() ? NULL : g.PrivateClipboard.begin();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Local ImGui-only clipboard implementation, if user hasn't defined better clipboard handlers
|
// Local ImGui-only clipboard implementation, if user hasn't defined better clipboard handlers
|
||||||
static void SetClipboardTextFn_DefaultImpl(void*, const char* text)
|
static void SetClipboardTextFn_DefaultImpl(void*, const char* text)
|
||||||
{
|
{
|
||||||
ImGuiContext& g = *GImGui;
|
ImGuiContext& g = *GImGui;
|
||||||
if (g.PrivateClipboard)
|
g.PrivateClipboard.clear();
|
||||||
{
|
|
||||||
ImGui::MemFree(g.PrivateClipboard);
|
|
||||||
g.PrivateClipboard = NULL;
|
|
||||||
}
|
|
||||||
const char* text_end = text + strlen(text);
|
const char* text_end = text + strlen(text);
|
||||||
g.PrivateClipboard = (char*)ImGui::MemAlloc((size_t)(text_end - text) + 1);
|
g.PrivateClipboard.resize((size_t)(text_end - text) + 1);
|
||||||
memcpy(g.PrivateClipboard, text, (size_t)(text_end - text));
|
memcpy(&g.PrivateClipboard[0], text, (size_t)(text_end - text));
|
||||||
g.PrivateClipboard[(int)(text_end - text)] = 0;
|
g.PrivateClipboard[(int)(text_end - text)] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -471,7 +471,7 @@ struct ImGuiContext
|
|||||||
float DragSpeedScaleFast;
|
float DragSpeedScaleFast;
|
||||||
ImVec2 ScrollbarClickDeltaToGrabCenter; // Distance between mouse and center of grab box, normalized in parent space. Use storage?
|
ImVec2 ScrollbarClickDeltaToGrabCenter; // Distance between mouse and center of grab box, normalized in parent space. Use storage?
|
||||||
int TooltipOverrideCount;
|
int TooltipOverrideCount;
|
||||||
char* PrivateClipboard; // If no custom clipboard handler is defined
|
ImVector<char> PrivateClipboard; // If no custom clipboard handler is defined
|
||||||
ImVec2 OsImePosRequest, OsImePosSet; // Cursor position request & last passed to the OS Input Method Editor
|
ImVec2 OsImePosRequest, OsImePosSet; // Cursor position request & last passed to the OS Input Method Editor
|
||||||
|
|
||||||
// Logging
|
// Logging
|
||||||
@ -541,7 +541,6 @@ struct ImGuiContext
|
|||||||
DragSpeedScaleFast = 10.0f;
|
DragSpeedScaleFast = 10.0f;
|
||||||
ScrollbarClickDeltaToGrabCenter = ImVec2(0.0f, 0.0f);
|
ScrollbarClickDeltaToGrabCenter = ImVec2(0.0f, 0.0f);
|
||||||
TooltipOverrideCount = 0;
|
TooltipOverrideCount = 0;
|
||||||
PrivateClipboard = NULL;
|
|
||||||
OsImePosRequest = OsImePosSet = ImVec2(-1.0f, -1.0f);
|
OsImePosRequest = OsImePosSet = ImVec2(-1.0f, -1.0f);
|
||||||
|
|
||||||
ModalWindowDarkeningRatio = 0.0f;
|
ModalWindowDarkeningRatio = 0.0f;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user