substrate::geometry::prelude

Trait PlaceRect

Source
pub trait PlaceRect: Sized + PlaceRectMut {
    // Provided method
    fn place(self, mode: PlaceMode, srect: Rect, pt: Point) -> Self { ... }
}
Expand description

A geometric shape that can be placed at a point.

§Examples

let mut rect1 = Rect::from_sides(0, 0, 100, 200);
assert_eq!(
    rect1.place(PlaceMode::Center, rect1, Point::new(25, 25)),
    Rect::from_sides(-25, -75, 75, 125),
);

// Alternate rectangle to align `rect1` with.
// Conceptually, this represents that `rect1` has
// 5 units of hangover space on all sides that should
// not contribute to placement.
let rect1_alt = rect1.shrink_all(5).unwrap();

assert_eq!(
    rect1.place(
        PlaceMode::Corner(Corner::UpperRight),
        rect1_alt,
        Point::new(25, 25)
    ),
    Rect::from_sides(-70, -170, 30, 30),
);

Provided Methods§

Source

fn place(self, mode: PlaceMode, srect: Rect, pt: Point) -> Self

Places an object at the given point.

For center alignments, the center’s non-integer coordinates are rounded down to the nearest integer. This behavior is subject to change and should not be relied upon.

Creates a new shape at the placed location.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T> PlaceRect for T
where T: PlaceRectMut,