Przeglądaj źródła

ImFontAtlas: doesn't clear input data, left to the application. (#224)

ocornut 10 lat temu
rodzic
commit
5df542c3c0

+ 4 - 0
examples/directx11_example/imgui_impl_dx11.cpp

@@ -230,6 +230,10 @@ static void ImGui_ImplDX11_CreateFontsTexture()
         samplerDesc.MaxLOD = 0.f;
         g_pd3dDevice->CreateSamplerState(&samplerDesc, &g_pFontSampler);
     }
+
+    // Cleanup (don't clear the input data if you want to append new fonts later)
+    io.Fonts->ClearInputData();
+    io.Fonts->ClearTexData();
 }
 
 bool    ImGui_ImplDX11_CreateDeviceObjects()

+ 4 - 0
examples/directx9_example/imgui_impl_dx9.cpp

@@ -224,6 +224,10 @@ static void ImGui_ImplDX9_CreateFontsTexture()
 
     // Store our identifier
     io.Fonts->TexID = (void *)pTexture;
+
+    // Cleanup (don't clear the input data if you want to append new fonts later)
+    io.Fonts->ClearInputData();
+    io.Fonts->ClearTexData();
 }
 
 bool ImGui_ImplDX9_CreateDeviceObjects()

+ 4 - 0
examples/opengl3_example/imgui_impl_glfw_gl3.cpp

@@ -174,6 +174,10 @@ void ImGui_ImplGlfwGL3_CreateFontsTexture()
 
     // Store our identifier
     io.Fonts->TexID = (void *)(intptr_t)g_FontTexture;
+
+    // Cleanup (don't clear the input data if you want to append new fonts later)
+    io.Fonts->ClearInputData();
+    io.Fonts->ClearTexData();
 }
 
 bool ImGui_ImplGlfwGL3_CreateDeviceObjects()

+ 4 - 0
examples/opengl_example/imgui_impl_glfw.cpp

@@ -156,6 +156,10 @@ bool ImGui_ImplGlfw_CreateDeviceObjects()
     // Store our identifier
     io.Fonts->TexID = (void *)(intptr_t)g_FontTexture;
 
+    // Cleanup (don't clear the input data if you want to append new fonts later)
+    io.Fonts->ClearInputData();
+    io.Fonts->ClearTexData();
+
     return true;
 }
 

+ 0 - 1
imgui.cpp

@@ -8683,7 +8683,6 @@ bool    ImFontAtlas::Build()
     ImGui::MemFree(buf_ranges);
     buf_packedchars = NULL;
     buf_ranges = NULL;
-    ClearInputData();
 
     // Render into our custom data block
     RenderCustomTexData(1, &extra_rects);