summaryrefslogtreecommitdiff
path: root/src/geom
diff options
context:
space:
mode:
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> {