Implement division operation for Rectangle, Size and Vector
This commit is contained in:
parent
5195a59e20
commit
6f9b7a9005
3 changed files with 54 additions and 0 deletions
|
|
@ -354,6 +354,19 @@ impl std::ops::Mul<f32> for Rectangle<f32> {
|
|||
}
|
||||
}
|
||||
|
||||
impl std::ops::Div<f32> for Rectangle<f32> {
|
||||
type Output = Self;
|
||||
|
||||
fn div(self, scale: f32) -> Self {
|
||||
Self {
|
||||
x: self.x / scale,
|
||||
y: self.y / scale,
|
||||
width: self.width / scale,
|
||||
height: self.height / scale,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Rectangle<u32>> for Rectangle<f32> {
|
||||
fn from(rectangle: Rectangle<u32>) -> Rectangle<f32> {
|
||||
Rectangle {
|
||||
|
|
@ -410,3 +423,19 @@ where
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<T> std::ops::Div<Vector<T>> for Rectangle<T>
|
||||
where
|
||||
T: std::ops::Div<Output = T> + Copy,
|
||||
{
|
||||
type Output = Rectangle<T>;
|
||||
|
||||
fn div(self, scale: Vector<T>) -> Self {
|
||||
Rectangle {
|
||||
x: self.x / scale.x,
|
||||
y: self.y / scale.y,
|
||||
width: self.width / scale.x,
|
||||
height: self.height / scale.y,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue