Decouple iced from coffee
This commit is contained in:
parent
eefdcbe06c
commit
2b7ad3d50e
33 changed files with 2907 additions and 8 deletions
30
src/rectangle.rs
Normal file
30
src/rectangle.rs
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
use crate::Point;
|
||||
|
||||
/// A generic rectangle.
|
||||
#[derive(Debug, PartialEq, Eq, Copy, Clone)]
|
||||
pub struct Rectangle<T> {
|
||||
/// X coordinate of the top-left corner.
|
||||
pub x: T,
|
||||
|
||||
/// Y coordinate of the top-left corner.
|
||||
pub y: T,
|
||||
|
||||
/// Width of the rectangle.
|
||||
pub width: T,
|
||||
|
||||
/// Height of the rectangle.
|
||||
pub height: T,
|
||||
}
|
||||
|
||||
impl Rectangle<f32> {
|
||||
/// Returns true if the given [`Point`] is contained in the [`Rectangle`].
|
||||
///
|
||||
/// [`Point`]: type.Point.html
|
||||
/// [`Rectangle`]: struct.Rectangle.html
|
||||
pub fn contains(&self, point: Point) -> bool {
|
||||
self.x <= point.x
|
||||
&& point.x <= self.x + self.width
|
||||
&& self.y <= point.y
|
||||
&& point.y <= self.y + self.height
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue