diff options
| author | Laurenz <laurmaedje@gmail.com> | 2022-04-08 15:08:26 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2022-04-08 15:45:14 +0200 |
| commit | 712c00ecb72b67da2c0788e5d3eb4dcc6366b2a7 (patch) | |
| tree | f5d7ef4341a4728c980d020cc173fa6bb70feaff /src/geom/em.rs | |
| parent | 977ac77e6a3298be2644a8231e93acbef9f7f396 (diff) | |
Em units
Diffstat (limited to 'src/geom/em.rs')
| -rw-r--r-- | src/geom/em.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/geom/em.rs b/src/geom/em.rs index 3c772d96..ec1cfbda 100644 --- a/src/geom/em.rs +++ b/src/geom/em.rs @@ -29,7 +29,12 @@ impl Em { /// Create an em length from a length at the given font size. pub fn from_length(length: Length, font_size: Length) -> Self { - Self(Scalar(length / font_size)) + let result = length / font_size; + if result.is_finite() { + Self(Scalar(result)) + } else { + Self::zero() + } } /// The number of em units. @@ -38,8 +43,9 @@ impl Em { } /// Convert to a length at the given font size. - pub fn resolve(self, font_size: Length) -> Length { - self.get() * font_size + pub fn at(self, font_size: Length) -> Length { + let resolved = font_size * self.get(); + if resolved.is_finite() { resolved } else { Length::zero() } } } |
