Merge pull request #92 from nvzqz/type-conversions

Add `From` impls for `Length`, `Point`, and `Size`
This commit is contained in:
Héctor Ramón 2019-11-30 17:01:01 +01:00 committed by GitHub
commit e404f5098a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 30 additions and 0 deletions

View file

@ -27,3 +27,9 @@ impl Length {
}
}
}
impl From<u16> for Length {
fn from(units: u16) -> Self {
Length::Units(units)
}
}

View file

@ -19,6 +19,18 @@ impl Point {
}
}
impl From<[f32; 2]> for Point {
fn from([x, y]: [f32; 2]) -> Self {
Point { x, y }
}
}
impl From<[u16; 2]> for Point {
fn from([x, y]: [u16; 2]) -> Self {
Point::new(x.into(), y.into())
}
}
impl std::ops::Add<Vector> for Point {
type Output = Self;

View file

@ -37,3 +37,15 @@ impl Size {
}
}
}
impl From<[f32; 2]> for Size {
fn from([width, height]: [f32; 2]) -> Self {
Size { width, height }
}
}
impl From<[u16; 2]> for Size {
fn from([width, height]: [u16; 2]) -> Self {
Size::new(width.into(), height.into())
}
}