Enabled us to create the internal state on client side allocated memory, e.g. a heap

docking
Jim Tilander 10 years ago
parent 1be4604027
commit 3478e3a708

@ -1609,8 +1609,16 @@ void* ImGui::GetInternalState()
return GImGui; return GImGui;
} }
void ImGui::SetInternalState(void* state) unsigned ImGui::GetInternalStateSize()
{ {
return sizeof(ImGuiState);
}
void ImGui::SetInternalState(void* state, bool construct)
{
if( construct )
new (state) ImGuiState;
GImGui = (ImGuiState*)state; GImGui = (ImGuiState*)state;
} }

@ -144,7 +144,8 @@ namespace ImGui
{ {
// Main // Main
IMGUI_API void* GetInternalState(); IMGUI_API void* GetInternalState();
IMGUI_API void SetInternalState(void* state); IMGUI_API unsigned GetInternalStateSize();
IMGUI_API void SetInternalState(void* state, bool construct = false);
IMGUI_API ImGuiIO& GetIO(); IMGUI_API ImGuiIO& GetIO();
IMGUI_API ImGuiStyle& GetStyle(); IMGUI_API ImGuiStyle& GetStyle();
IMGUI_API void NewFrame(); IMGUI_API void NewFrame();

Loading…
Cancel
Save