aboutsummaryrefslogtreecommitdiff
path: root/src/transform.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/transform.rs')
-rw-r--r--src/transform.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/transform.rs b/src/transform.rs
index 3994f1d..0b65728 100644
--- a/src/transform.rs
+++ b/src/transform.rs
@@ -23,12 +23,19 @@ impl Sample for Polar {
}
}
+pub struct Transpose(pub Box<dyn Sample>);
+impl Sample for Transpose {
+ fn sample(&mut self, x: f64, y: f64) -> Color {
+ self.0.sample(y, x)
+ }
+}
+
pub struct Translate {
pub inner: Box<dyn Sample>,
pub offset: (f64, f64),
}
impl Sample for Translate {
fn sample(&mut self, x: f64, y: f64) -> Color {
- self.inner.sample(x + self.offset.0, y + self.offset.1)
+ self.inner.sample(x - self.offset.0, y - self.offset.1)
}
}