dpi: derive common traits for PixelUnit
Derive `Debug`, `Copy`, `Clone` , `PartialEq`, `Serialize`, `Deserialize` for `PixelUnit`, which follows other types in dpi crate.
This commit is contained in:
parent
fedb944d57
commit
8e69a8fa40
2 changed files with 38 additions and 0 deletions
|
|
@ -11,6 +11,8 @@ Unreleased` header.
|
||||||
|
|
||||||
# Unreleased
|
# Unreleased
|
||||||
|
|
||||||
|
- Derive `Debug`, `Copy`, `Clone`, `PartialEq`, `Serialize`, `Deserialize` traits for `PixelUnit`.
|
||||||
|
|
||||||
# 0.1.0
|
# 0.1.0
|
||||||
|
|
||||||
- Add `LogicalUnit`, `PhysicalUnit` and `PixelUnit` types and related functions.
|
- Add `LogicalUnit`, `PhysicalUnit` and `PixelUnit` types and related functions.
|
||||||
|
|
|
||||||
|
|
@ -314,6 +314,8 @@ impl<P: Pixel> From<PhysicalUnit<P>> for f64 {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// A pixel unit that's either physical or logical.
|
/// A pixel unit that's either physical or logical.
|
||||||
|
#[derive(Debug, Copy, Clone, PartialEq)]
|
||||||
|
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
|
||||||
pub enum PixelUnit {
|
pub enum PixelUnit {
|
||||||
Physical(PhysicalUnit<i32>),
|
Physical(PhysicalUnit<i32>),
|
||||||
Logical(LogicalUnit<f64>),
|
Logical(LogicalUnit<f64>),
|
||||||
|
|
@ -1205,4 +1207,38 @@ mod tests {
|
||||||
let _ = format!("{:?}", Size::Physical((1, 2).into()).clone());
|
let _ = format!("{:?}", Size::Physical((1, 2).into()).clone());
|
||||||
let _ = format!("{:?}", Position::Physical((1, 2).into()).clone());
|
let _ = format!("{:?}", Position::Physical((1, 2).into()).clone());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn ensure_copy_trait() {
|
||||||
|
fn is_copy<T: Copy>() {}
|
||||||
|
|
||||||
|
is_copy::<LogicalUnit<i32>>();
|
||||||
|
is_copy::<PhysicalUnit<f64>>();
|
||||||
|
is_copy::<PixelUnit>();
|
||||||
|
|
||||||
|
is_copy::<LogicalSize<i32>>();
|
||||||
|
is_copy::<PhysicalSize<f64>>();
|
||||||
|
is_copy::<Size>();
|
||||||
|
|
||||||
|
is_copy::<LogicalPosition<i32>>();
|
||||||
|
is_copy::<PhysicalPosition<f64>>();
|
||||||
|
is_copy::<Position>();
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn ensure_partial_eq_trait() {
|
||||||
|
fn is_partial_eq<T: PartialEq>() {}
|
||||||
|
|
||||||
|
is_partial_eq::<LogicalUnit<i32>>();
|
||||||
|
is_partial_eq::<PhysicalUnit<f64>>();
|
||||||
|
is_partial_eq::<PixelUnit>();
|
||||||
|
|
||||||
|
is_partial_eq::<LogicalSize<i32>>();
|
||||||
|
is_partial_eq::<PhysicalSize<f64>>();
|
||||||
|
is_partial_eq::<Size>();
|
||||||
|
|
||||||
|
is_partial_eq::<LogicalPosition<i32>>();
|
||||||
|
is_partial_eq::<PhysicalPosition<f64>>();
|
||||||
|
is_partial_eq::<Position>();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue