paperforge_core/units.rs
1/// Unit conversion trait.
2pub trait UnitConversion: Copy {
3 /// Convert to points.
4 fn pt(&self) -> f64;
5 /// Convert to millimeters.
6 fn mm(&self) -> f64;
7 /// Convert to centimeters.
8 fn cm(&self) -> f64;
9 /// Convert to inches.
10 fn inch(&self) -> f64;
11}
12
13impl UnitConversion for f64 {
14 fn pt(&self) -> f64 {
15 *self
16 }
17
18 fn mm(&self) -> f64 {
19 *self * 72.0 / 25.4
20 }
21
22 fn cm(&self) -> f64 {
23 *self * 72.0 / 2.54
24 }
25
26 fn inch(&self) -> f64 {
27 *self * 72.0
28 }
29}