use ratatui::layout::Rect;
#[inline]
pub fn point_in_rect(rect: Rect, x: u16, y: u16) -> bool {
x >= rect.x && x < rect.x + rect.width && y >= rect.y && y < rect.y + rect.height
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_point_in_rect_inside() {
let rect = Rect::new(10, 20, 30, 40);
assert!(point_in_rect(rect, 10, 20)); assert!(point_in_rect(rect, 25, 40)); assert!(point_in_rect(rect, 39, 59)); }
#[test]
fn test_point_in_rect_outside() {
let rect = Rect::new(10, 20, 30, 40);
assert!(!point_in_rect(rect, 9, 20)); assert!(!point_in_rect(rect, 10, 19)); assert!(!point_in_rect(rect, 40, 20)); assert!(!point_in_rect(rect, 10, 60)); }
#[test]
fn test_point_in_rect_zero_size() {
let rect = Rect::new(10, 20, 0, 0);
assert!(!point_in_rect(rect, 10, 20));
}
}