use crate::{GammaMode, ShaderManager, WgpuBackendData, WgpuTextureManager};
use wgpu::TextureView;
#[cfg(any(feature = "multi-viewport-winit", feature = "multi-viewport-sdl3"))]
use wgpu::Color;
pub struct WgpuRenderer {
pub(super) backend_data: Option<WgpuBackendData>,
pub(super) shader_manager: ShaderManager,
pub(super) texture_manager: WgpuTextureManager,
pub(super) default_texture: Option<TextureView>,
pub(super) gamma_mode: GammaMode,
#[cfg(any(feature = "multi-viewport-winit", feature = "multi-viewport-sdl3"))]
pub(super) viewport_clear_color: Color,
}
#[cfg(any(feature = "multi-viewport-winit", feature = "multi-viewport-sdl3"))]
impl Drop for WgpuRenderer {
fn drop(&mut self) {
self.clear_multi_viewport_renderer_state();
}
}