summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2025-05-14 13:30:08 +0200
committerHampusM <hampus@hampusmat.com>2025-05-24 16:54:21 +0200
commit05dbaef551b157bfd2ef8a230835f39bb5e79321 (patch)
tree766cd5d816eec84cfe7fd0a8b88347b04321d6ef
parentb95c7222c6370029db9a16d2aecafee257f1b8c9 (diff)
feat(engine): add From impls for Dimens & Dimens3
-rw-r--r--engine/src/data_types/dimens.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/engine/src/data_types/dimens.rs b/engine/src/data_types/dimens.rs
index 5002436..d8d0247 100644
--- a/engine/src/data_types/dimens.rs
+++ b/engine/src/data_types/dimens.rs
@@ -6,6 +6,22 @@ pub struct Dimens<Value>
pub height: Value,
}
+impl<Value: Clone> From<Value> for Dimens<Value>
+{
+ fn from(value: Value) -> Self
+ {
+ Self { width: value.clone(), height: value }
+ }
+}
+
+impl<Value> From<(Value, Value)> for Dimens<Value>
+{
+ fn from(value: (Value, Value)) -> Self
+ {
+ Self { width: value.0, height: value.1 }
+ }
+}
+
/// 3D dimensions.
#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
pub struct Dimens3<Value>
@@ -14,3 +30,27 @@ pub struct Dimens3<Value>
pub height: Value,
pub depth: Value,
}
+
+impl<Value: Clone> From<Value> for Dimens3<Value>
+{
+ fn from(value: Value) -> Self
+ {
+ Self {
+ width: value.clone(),
+ height: value.clone(),
+ depth: value,
+ }
+ }
+}
+
+impl<Value: Clone> From<(Value, Value, Value)> for Dimens3<Value>
+{
+ fn from(value: (Value, Value, Value)) -> Self
+ {
+ Self {
+ width: value.0,
+ height: value.1,
+ depth: value.2,
+ }
+ }
+}