1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//! Extends the embedded-graphics `Rectangle` struct with some helper methods.
use embedded_graphics::{prelude::*, primitives::Rectangle};

/// `Rectangle` extensions
pub trait RectExt {
    /// Returns the (correct) size of a `Rectangle`.
    fn size(self) -> Size;
}

impl RectExt for Rectangle {
    #[inline]
    #[must_use]
    fn size(self) -> Size {
        // TODO: remove if fixed in embedded-graphics
        let width = (self.bottom_right.x - self.top_left.x) as u32 + 1;
        let height = (self.bottom_right.y - self.top_left.y) as u32 + 1;

        Size::new(width, height)
    }
}