summaryrefslogtreecommitdiff
path: root/src/geom/gen.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2020-10-13 13:51:58 +0200
committerLaurenz <laurmaedje@gmail.com>2020-10-13 13:51:58 +0200
commit91e512069396f1de616ec2b0fe0cd31a76e7f2e9 (patch)
tree204ef6032dd4d22b38236d4d85fc95c97e7a9f37 /src/geom/gen.rs
parent8680fcd4903b451909a5932e8b948a68c9aacb16 (diff)
BoxAlign and Flow aliases ✏
Diffstat (limited to 'src/geom/gen.rs')
-rw-r--r--src/geom/gen.rs18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/geom/gen.rs b/src/geom/gen.rs
index d877713b..11b117ea 100644
--- a/src/geom/gen.rs
+++ b/src/geom/gen.rs
@@ -14,6 +14,14 @@ impl<T> Gen<T> {
pub fn new(main: T, cross: T) -> Self {
Self { main, cross }
}
+
+ /// Create a new instance with two equal components.
+ pub fn uniform(value: T) -> Self
+ where
+ T: Clone,
+ {
+ Self { main: value.clone(), cross: value }
+ }
}
impl Gen<Length> {
@@ -42,8 +50,8 @@ impl<T> Get<GenAxis> for Gen<T> {
impl<T> Switch for Gen<T> {
type Other = Spec<T>;
- fn switch(self, dirs: Gen<Dir>) -> Self::Other {
- match dirs.main.axis() {
+ fn switch(self, flow: Flow) -> Self::Other {
+ match flow.main.axis() {
SpecAxis::Horizontal => Spec::new(self.main, self.cross),
SpecAxis::Vertical => Spec::new(self.cross, self.main),
}
@@ -72,10 +80,10 @@ impl GenAxis {
impl Switch for GenAxis {
type Other = SpecAxis;
- fn switch(self, dirs: Gen<Dir>) -> Self::Other {
+ fn switch(self, flow: Flow) -> Self::Other {
match self {
- Self::Main => dirs.main.axis(),
- Self::Cross => dirs.cross.axis(),
+ Self::Main => flow.main.axis(),
+ Self::Cross => flow.cross.axis(),
}
}
}