logo
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use super::*;
use std::collections::BTreeSet;

#[derive(Copy, Debug, Clone)]
pub struct FontSize {
    size: LengthUnit,
    height: LengthUnit,
}

impl FontSize {
    #[inline]
    pub fn new(size: f32, height: f32) -> Self {
        let size = LengthUnit::rem(size);
        let height = if height < 0.0 { LengthUnit::rem(height) } else { LengthUnit::percent(height) };
        Self { size, height }
    }
    pub fn get_properties(&self) -> BTreeSet<CssAttribute> {
        css_attributes! {
            "font-size" => self.size.get_properties(),
            "line-height" => self.height.get_properties(),
        }
    }
}