1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
use crate::dependencies::DependencyDefault;

/// `Scale` defines a predefined scale for scalable content.
#[derive(Copy, Clone)]
pub enum Scale {
    /// Use extra extra small sizes.  
    /// This is the default on desktop platforms.
    XXS,
    /// use extra small sizes.
    XS,
    /// Use small sizes.
    S,
    /// Use medium sizes.
    M,
    /// Use large sizes.  
    /// This is the default on mobile platforms.
    L,
    /// use extra large sizes.
    XL,
    /// Use extra extra large sizes.
    XXL,
    /// Use extra extra extra large sizes.
    XXXL,
}

impl Default for Scale {
    fn default() -> Self {
        if cfg!(target_os = "ios") || cfg!(target_os = "android") {
            Scale::L
        } else {
            Scale::XXS
        }
    }
}

impl DependencyDefault for Scale {}