iced_graphics/
settings.rs1use crate::Antialiasing;
2use crate::core::{self, Font, Pixels};
3
4#[derive(Debug, Clone, Copy, PartialEq)]
6pub struct Settings {
7 pub default_font: Font,
9
10 pub default_text_size: Pixels,
14
15 pub antialiasing: Option<Antialiasing>,
19
20 pub vsync: bool,
24}
25
26impl Default for Settings {
27 fn default() -> Settings {
28 Settings {
29 default_font: Font::default(),
30 default_text_size: Pixels(16.0),
31 antialiasing: None,
32 vsync: true,
33 }
34 }
35}
36
37impl From<core::Settings> for Settings {
38 fn from(settings: core::Settings) -> Self {
39 Self {
40 default_font: if cfg!(all(target_arch = "wasm32", feature = "fira-sans"))
41 && settings.default_font == Font::default()
42 {
43 Font::with_name("Fira Sans")
44 } else {
45 settings.default_font
46 },
47 default_text_size: settings.default_text_size,
48 antialiasing: settings.antialiasing.then_some(Antialiasing::MSAAx4),
49 vsync: settings.vsync,
50 }
51 }
52}