diff --git a/geometry/src/line_segment.rs b/geometry/src/line_segment.rs index 43ccdc89..aed60bb9 100644 --- a/geometry/src/line_segment.rs +++ b/geometry/src/line_segment.rs @@ -293,16 +293,9 @@ impl MulAssign for LineSegment2F { #[derive(Clone, Copy, Debug, Default)] #[repr(C)] -pub struct LineSegmentU4 { - pub from: u8, - pub to: u8, -} - -#[derive(Clone, Copy, Debug, Default)] -#[repr(C)] -pub struct LineSegmentU8 { - pub from_x: u8, - pub from_y: u8, - pub to_x: u8, - pub to_y: u8, +pub struct LineSegmentU16 { + pub from_x: u16, + pub from_y: u16, + pub to_x: u16, + pub to_y: u16, } diff --git a/geometry/src/rect.rs b/geometry/src/rect.rs index 08625a29..34a988e7 100644 --- a/geometry/src/rect.rs +++ b/geometry/src/rect.rs @@ -327,6 +327,11 @@ impl RectI { self.0.w() - self.0.y() } + #[inline] + pub fn area(self) -> i32 { + self.width() * self.height() + } + #[inline] pub fn upper_right(&self) -> Vector2I { Vector2I(self.0.zy()) diff --git a/geometry/src/vector.rs b/geometry/src/vector.rs index 711818cd..444fce50 100644 --- a/geometry/src/vector.rs +++ b/geometry/src/vector.rs @@ -349,6 +349,11 @@ impl Vector2I { Vector2I(self.0.max(other.0)) } + #[inline] + pub fn area(self) -> i32 { + self.x() * self.y() + } + #[inline] pub fn to_f32(self) -> Vector2F { Vector2F(self.0.to_f32x2())