summaryrefslogtreecommitdiff
path: root/src/geom
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-04-08 14:48:02 +0200
committerLaurenz <laurmaedje@gmail.com>2022-04-08 14:48:02 +0200
commite1d7edb7c1845e6df6f5e23e3baf7bc88159eade (patch)
tree4256919d2be06abdaf5267ac804cfc9d4d3a8dc5 /src/geom
parent4bb6240b401605ef6d905273db07545e14f9a21f (diff)
Property resolving
Diffstat (limited to 'src/geom')
-rw-r--r--src/geom/relative.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/geom/relative.rs b/src/geom/relative.rs
index 8e8897e7..066b8c15 100644
--- a/src/geom/relative.rs
+++ b/src/geom/relative.rs
@@ -34,6 +34,15 @@ impl<T: Numeric> Relative<T> {
pub fn resolve(self, whole: T) -> T {
self.rel.resolve(whole) + self.abs
}
+
+ /// Map the absolute part with `f`.
+ pub fn map<F, U>(self, f: F) -> Relative<U>
+ where
+ F: FnOnce(T) -> U,
+ U: Numeric,
+ {
+ Relative { rel: self.rel, abs: f(self.abs) }
+ }
}
impl<T: Numeric> Debug for Relative<T> {