From c1ac90def08fa7a16c120e57c21f50abc743fd70 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Wed, 4 Jan 2023 09:37:15 +0100 Subject: core/type: add middle points methods to Bound --- core/src/types.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/core/src/types.rs b/core/src/types.rs index 96e059a..b3df84f 100644 --- a/core/src/types.rs +++ b/core/src/types.rs @@ -141,6 +141,10 @@ impl Bounds { Point2D::new(self.right(solver), self.top) } + pub fn top_middle(&self, solver: &mut dyn SolverContext) -> Point2D { + Point2D::new(self.horiz_center(solver), self.top) + } + pub fn bottom_left(&self, solver: &mut dyn SolverContext) -> Point2D { Point2D::new(self.left, self.bottom(solver)) } @@ -149,6 +153,18 @@ impl Bounds { Point2D::new(self.right(solver), self.bottom(solver)) } + pub fn bottom_middle(&self, solver: &mut dyn SolverContext) -> Point2D { + Point2D::new(self.horiz_center(solver), self.bottom(solver)) + } + + pub fn middle_left(&self, solver: &mut dyn SolverContext) -> Point2D { + Point2D::new(self.left, self.vert_center(solver)) + } + + pub fn middle_right(&self, solver: &mut dyn SolverContext) -> Point2D { + Point2D::new(self.right(solver), self.vert_center(solver)) + } + pub fn center(&self, solver: &mut dyn SolverContext) -> Point2D { Point2D::new(self.horiz_center(solver), self.vert_center(solver)) } -- cgit v1.2.3