//! Configure a renderer. use crate::core::{Font, Pixels}; use crate::graphics::{self, Antialiasing}; /// The settings of a [`Renderer`]. /// /// [`Renderer`]: crate::Renderer #[derive(Debug, Clone, Copy, PartialEq)] pub struct Settings { /// The present mode of the [`Renderer`]. /// /// [`Renderer`]: crate::Renderer pub present_mode: wgpu::PresentMode, /// The graphics backends to use. pub backends: wgpu::Backends, /// The default [`Font`] to use. pub default_font: Font, /// The default size of text. /// /// By default, it will be set to `16.0`. pub default_text_size: Pixels, /// The antialiasing strategy that will be used for triangle primitives. /// /// By default, it is `None`. pub antialiasing: Option, } impl Default for Settings { fn default() -> Settings { Settings { present_mode: wgpu::PresentMode::AutoVsync, backends: wgpu::Backends::all(), default_font: Font::default(), default_text_size: Pixels(16.0), antialiasing: None, } } } impl From for Settings { fn from(settings: graphics::Settings) -> Self { Self { default_font: settings.default_font, default_text_size: settings.default_text_size, antialiasing: settings.antialiasing, ..Settings::default() } } }