mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +01:00 
			
		
		
		
	Examples: DirectX10/11/12, Allegro, Marmalade: Render functions early out when display size is zero (minimized). (#2496)
This commit is contained in:
		| @@ -61,6 +61,7 @@ Other Changes: | ||||
| - Examples: Vulkan: Avoid passing negative coordinates to vkCmdSetScissor, which debug validation layers do not like. | ||||
| - Examples: Vulkan: Added ImGui_ImplVulkan_SetMinImageCount() to change min image count at runtime. (#2071) [@nathanvoglsam] | ||||
| - Examples: DirectX9: Fixed erroneous assert in ImGui_ImplDX9_InvalidateDeviceObjects(). (#2454) | ||||
| - Examples: DirectX10/11/12, Allegro, Marmalade: Render functions early out when display size is zero (minimized). (#2496) | ||||
| - Examples: GLUT: Fixed existing FreeGLUT example to work with regular GLUT. (#2465) [@andrewwillmott] | ||||
| - Examples: GLUT: Renamed imgui_impl_freeglut.cpp/.h to imgui_impl_glut.cpp/.h. (#2465) [@andrewwillmott] | ||||
| - Examples: GLUT: Made io.DeltaTime always > 0. (#2430) | ||||
|   | ||||
| @@ -64,6 +64,10 @@ struct ImDrawVertAllegro | ||||
| // (this used to be set in io.RenderDrawListsFn and called by ImGui::Render(), but you can now call this directly from your main loop) | ||||
| void ImGui_ImplAllegro5_RenderDrawData(ImDrawData* draw_data) | ||||
| { | ||||
|     // Avoid rendering when minimized | ||||
|     if (draw_data->DisplaySize.x <= 0.0f || draw_data->DisplaySize.y <= 0.0f) | ||||
|         return; | ||||
|  | ||||
|     // Backup Allegro state that will be modified | ||||
|     ALLEGRO_TRANSFORM last_transform = *al_get_current_transform(); | ||||
|     ALLEGRO_TRANSFORM last_projection_transform = *al_get_current_projection_transform(); | ||||
|   | ||||
| @@ -59,6 +59,10 @@ struct VERTEX_CONSTANT_BUFFER | ||||
| // (this used to be set in io.RenderDrawListsFn and called by ImGui::Render(), but you can now call this directly from your main loop) | ||||
| void ImGui_ImplDX10_RenderDrawData(ImDrawData* draw_data) | ||||
| { | ||||
|     // Avoid rendering when minimized | ||||
|     if (draw_data->DisplaySize.x <= 0.0f || draw_data->DisplaySize.y <= 0.0f) | ||||
|         return; | ||||
|  | ||||
|     ID3D10Device* ctx = g_pd3dDevice; | ||||
|  | ||||
|     // Create and grow vertex/index buffers if needed | ||||
|   | ||||
| @@ -59,6 +59,10 @@ struct VERTEX_CONSTANT_BUFFER | ||||
| // (this used to be set in io.RenderDrawListsFn and called by ImGui::Render(), but you can now call this directly from your main loop) | ||||
| void ImGui_ImplDX11_RenderDrawData(ImDrawData* draw_data) | ||||
| { | ||||
|     // Avoid rendering when minimized | ||||
|     if (draw_data->DisplaySize.x <= 0.0f || draw_data->DisplaySize.y <= 0.0f) | ||||
|         return; | ||||
|  | ||||
|     ID3D11DeviceContext* ctx = g_pd3dDeviceContext; | ||||
|  | ||||
|     // Create and grow vertex/index buffers if needed | ||||
|   | ||||
| @@ -62,6 +62,10 @@ struct VERTEX_CONSTANT_BUFFER | ||||
| // (this used to be set in io.RenderDrawListsFn and called by ImGui::Render(), but you can now call this directly from your main loop) | ||||
| void ImGui_ImplDX12_RenderDrawData(ImDrawData* draw_data, ID3D12GraphicsCommandList* ctx) | ||||
| { | ||||
|     // Avoid rendering when minimized | ||||
|     if (draw_data->DisplaySize.x <= 0.0f || draw_data->DisplaySize.y <= 0.0f) | ||||
|         return; | ||||
|  | ||||
|     // FIXME: I'm assuming that this only gets called once per frame! | ||||
|     // If not, we can't just re-allocate the IB or VB, we'll have to do a proper allocator. | ||||
|     g_frameIndex = g_frameIndex + 1; | ||||
|   | ||||
| @@ -40,6 +40,10 @@ static ImVec2       g_RenderScale = ImVec2(1.0f,1.0f); | ||||
| // (this used to be set in io.RenderDrawListsFn and called by ImGui::Render(), but you can now call this directly from your main loop) | ||||
| void ImGui_Marmalade_RenderDrawData(ImDrawData* draw_data) | ||||
| { | ||||
|     // Avoid rendering when minimized | ||||
|     if (draw_data->DisplaySize.x <= 0.0f || draw_data->DisplaySize.y <= 0.0f) | ||||
|         return; | ||||
|  | ||||
|     // Render command lists | ||||
|     for (int n = 0; n < draw_data->CmdListsCount; n++) | ||||
|     { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user