dear_imgui_wgpu/renderer/
core.rs1use crate::{GammaMode, ShaderManager, WgpuBackendData, WgpuTextureManager};
2use wgpu::TextureView;
3
4#[cfg(any(feature = "multi-viewport-winit", feature = "multi-viewport-sdl3"))]
5use wgpu::Color;
6
7pub struct WgpuRenderer {
12 pub(super) backend_data: Option<WgpuBackendData>,
14 pub(super) shader_manager: ShaderManager,
16 pub(super) texture_manager: WgpuTextureManager,
18 pub(super) default_texture: Option<TextureView>,
20 pub(super) gamma_mode: GammaMode,
22 #[cfg(any(feature = "multi-viewport-winit", feature = "multi-viewport-sdl3"))]
24 pub(super) viewport_clear_color: Color,
25}
26
27#[cfg(any(feature = "multi-viewport-winit", feature = "multi-viewport-sdl3"))]
28impl Drop for WgpuRenderer {
29 fn drop(&mut self) {
30 self.clear_multi_viewport_renderer_state();
31 }
32}