diff options
| author | HampusM <hampus@hampusmat.com> | 2026-07-17 01:23:25 +0200 |
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2026-07-17 01:23:25 +0200 |
| commit | 7b25df4c4dc3ead44dc02015fcc46c1ccb283b8e (patch) | |
| tree | 4ff162b57ce32e1444851ba685c3e5ac6093c03b /engine/src/data_types | |
| parent | e32c20e5d9693bc0ac5b3e371823a4de978cb4e6 (diff) | |
feat(engine): add Reflection derives to various types
Diffstat (limited to 'engine/src/data_types')
| -rw-r--r-- | engine/src/data_types/dimens.rs | 8 | ||||
| -rw-r--r-- | engine/src/data_types/vector.rs | 16 |
2 files changed, 16 insertions, 8 deletions
diff --git a/engine/src/data_types/dimens.rs b/engine/src/data_types/dimens.rs index a197560..64a30d3 100644 --- a/engine/src/data_types/dimens.rs +++ b/engine/src/data_types/dimens.rs @@ -1,8 +1,11 @@ use std::num::NonZeroU32; use std::ops::Div; +use crate::reflection::Reflection; + /// 2D dimensions. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Reflection)] +#[reflection(impl_with_generics(<f32>, <f64>, <u32>, <u16>))] pub struct Dimens<Value> { pub width: Value, @@ -51,7 +54,8 @@ impl Dimens<u32> } /// 3D dimensions. -#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)] +#[derive(Debug, Clone, Copy, PartialEq, PartialOrd, Reflection)] +#[reflection(impl_with_generics(<f32>, <f64>, <u32>, <u16>))] pub struct Dimens3<Value> { pub width: Value, diff --git a/engine/src/data_types/vector.rs b/engine/src/data_types/vector.rs index 980ca59..dd9e386 100644 --- a/engine/src/data_types/vector.rs +++ b/engine/src/data_types/vector.rs @@ -1,6 +1,7 @@ use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Sub, SubAssign}; use crate::color::Color; +use crate::reflection::Reflection; macro_rules! impl_math_op_traits { (impl $op_trait: ident for $vector: ident, ($($vec_field: ident),+)) => { @@ -64,8 +65,9 @@ macro_rules! impl_math_op_traits { }; } -#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)] -pub struct Vec2<Value> +#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Reflection)] +#[reflection(impl_with_generics(<f32>, <f64>, <u32>, <u16>))] +pub struct Vec2<Value: 'static> { pub x: Value, pub y: Value, @@ -116,8 +118,9 @@ impl<Value> From<Vec2<Value>> for [Value; 2] } } -#[derive(Debug, Default, Clone, Copy, PartialEq)] -pub struct Vec3<Value> +#[derive(Debug, Default, Clone, Copy, PartialEq, Reflection)] +#[reflection(impl_with_generics(<f32>, <f64>, <u32>, <u16>))] +pub struct Vec3<Value: 'static> { pub x: Value, pub y: Value, @@ -251,8 +254,9 @@ impl<Value> From<Vec3<Value>> for [Value; 3] } } -#[derive(Debug, Default, Clone, Copy, PartialEq)] -pub struct Vec4<Value> +#[derive(Debug, Default, Clone, Copy, PartialEq, Reflection)] +#[reflection(impl_with_generics(<f32>, <f64>, <u32>, <u16>))] +pub struct Vec4<Value: 'static> { pub x: Value, pub y: Value, |
