Backends: added ImGui_ImplXXXX_GetRenderState() helpers to all backends not having one.

This commit is contained in:
ocornut 2026-09-16 16:14:06 +02:00
parent b00dd14a34
commit 8e174685ae
8 changed files with 16 additions and 0 deletions

View file

@ -46,4 +46,6 @@ struct ImGui_ImplDX10_RenderState
//ID3D10SamplerState* SamplerNearest; // Use ImDrawList::AddCallback(ImGui::GetPlatform().DrawCallback_SetSamplerNearest) //ID3D10SamplerState* SamplerNearest; // Use ImDrawList::AddCallback(ImGui::GetPlatform().DrawCallback_SetSamplerNearest)
}; };
static inline ImGui_ImplDX10_RenderState* ImGui_ImplDX10_GetRenderState() { return (ImGui_ImplDX10_RenderState*)ImGui::GetPlatformIO().Renderer_RenderState; }
#endif // #ifndef IMGUI_DISABLE #endif // #ifndef IMGUI_DISABLE

View file

@ -49,4 +49,6 @@ struct ImGui_ImplDX11_RenderState
//ID3D11SamplerState* SamplerNearest; // Use ImDrawList::AddCallback(ImGui::GetPlatform().DrawCallback_SetSamplerNearest) //ID3D11SamplerState* SamplerNearest; // Use ImDrawList::AddCallback(ImGui::GetPlatform().DrawCallback_SetSamplerNearest)
}; };
static inline ImGui_ImplDX11_RenderState* ImGui_ImplDX11_GetRenderState() { return (ImGui_ImplDX11_RenderState*)ImGui::GetPlatformIO().Renderer_RenderState; }
#endif // #ifndef IMGUI_DISABLE #endif // #ifndef IMGUI_DISABLE

View file

@ -75,6 +75,8 @@ struct ImGui_ImplDX12_RenderState
ID3D12GraphicsCommandList* CommandList; ID3D12GraphicsCommandList* CommandList;
}; };
static inline ImGui_ImplDX12_RenderState* ImGui_ImplDX12_GetRenderState() { return (ImGui_ImplDX12_RenderState*)ImGui::GetPlatformIO().Renderer_RenderState; }
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
// Legacy initialization API Obsoleted in 1.91.5 // Legacy initialization API Obsoleted in 1.91.5
// - font_srv_cpu_desc_handle and font_srv_gpu_desc_handle are handles to a single SRV descriptor to use for the internal font texture, they must be in 'srv_descriptor_heap' // - font_srv_cpu_desc_handle and font_srv_gpu_desc_handle are handles to a single SRV descriptor to use for the internal font texture, they must be in 'srv_descriptor_heap'

View file

@ -59,4 +59,6 @@ struct ImGui_ImplSDLGPU3_RenderState
SDL_GPUDevice* Device; SDL_GPUDevice* Device;
}; };
static inline ImGui_ImplSDLGPU3_RenderState* ImGui_ImplSDLGPU3_GetRenderState() { return (ImGui_ImplSDLGPU3_RenderState*)ImGui::GetPlatformIO().Renderer_RenderState; }
#endif // #ifndef IMGUI_DISABLE #endif // #ifndef IMGUI_DISABLE

View file

@ -52,4 +52,6 @@ struct ImGui_ImplSDLRenderer2_RenderState
SDL_Renderer* Renderer; SDL_Renderer* Renderer;
}; };
static inline ImGui_ImplSDLRenderer2_RenderState* ImGui_ImplSDLRenderer2_GetRenderState() { return (ImGui_ImplSDLRenderer2_RenderState*)ImGui::GetPlatformIO().Renderer_RenderState; }
#endif // #ifndef IMGUI_DISABLE #endif // #ifndef IMGUI_DISABLE

View file

@ -50,4 +50,6 @@ struct ImGui_ImplSDLRenderer3_RenderState
SDL_Renderer* Renderer; SDL_Renderer* Renderer;
}; };
static inline ImGui_ImplSDLRenderer3_RenderState* ImGui_ImplSDLRenderer3_GetRenderState() { return (ImGui_ImplSDLRenderer3_RenderState*)ImGui::GetPlatformIO().Renderer_RenderState; }
#endif // #ifndef IMGUI_DISABLE #endif // #ifndef IMGUI_DISABLE

View file

@ -176,6 +176,8 @@ struct ImGui_ImplVulkan_RenderState
VkPipelineLayout PipelineLayout; VkPipelineLayout PipelineLayout;
}; };
static inline ImGui_ImplVulkan_RenderState* ImGui_ImplVulkan_GetRenderState() { return (ImGui_ImplVulkan_RenderState*)ImGui::GetPlatformIO().Renderer_RenderState; }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// Internal / Miscellaneous Vulkan Helpers // Internal / Miscellaneous Vulkan Helpers
//------------------------------------------------------------------------- //-------------------------------------------------------------------------

View file

@ -82,6 +82,8 @@ struct ImGui_ImplWGPU_RenderState
WGPURenderPassEncoder RenderPassEncoder; WGPURenderPassEncoder RenderPassEncoder;
}; };
static inline ImGui_ImplWGPU_RenderState* ImGui_ImplWGPU_GetRenderState() { return (ImGui_ImplWGPU_RenderState*)ImGui::GetPlatformIO().Renderer_RenderState; }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// Internal Helpers // Internal Helpers
// Those are currently used by our example applications. // Those are currently used by our example applications.