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

This commit is contained in:
Jim Tilander 2015-01-31 21:55:19 -08:00
parent 1be4604027
commit 3478e3a708
2 changed files with 11 additions and 2 deletions

View File

@ -1609,8 +1609,16 @@ void* ImGui::GetInternalState()
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;
}

View File

@ -144,7 +144,8 @@ namespace ImGui
{
// Main
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 ImGuiStyle& GetStyle();
IMGUI_API void NewFrame();