Struct cursive_core::Rect

source ·
pub struct Rect { /* private fields */ }
Expand description

A non-empty rectangle on the 2D grid.

Implementations§

source§

impl Rect

source

pub fn from_point<T>(point: T) -> Self
where T: Into<Vec2>,

Creates a new Rect around a single point.

The size will be (1, 1).

source

pub fn from_size<U, V>(top_left: U, size: V) -> Self
where U: Into<Vec2>, V: Into<Vec2>,

Creates a new Rect with the given position and size.

The minimum size will (1, 1).

source

pub fn from_corners<U, V>(a: U, b: V) -> Self
where U: Into<Vec2>, V: Into<Vec2>,

Creates a new Rect from two corners.

It can be any two opposite corners.

source

pub fn expand_to<R>(&mut self, other: R)
where R: Into<Rect>,

Grow this rectangle if necessary to include other.

source

pub fn expanded_to<R>(self, other: R) -> Self
where R: Into<Rect>,

Returns a new rectangle that includes both self and other.

source

pub fn side(self, orientation: Orientation) -> (usize, usize)

Returns the start and end coordinate of one side of this rectangle.

Both start and end are inclusive.

source

pub fn edge(self, side: Absolute) -> usize

Returns the coordinate of the given edge.

All edges are inclusive.

source

pub fn offset<V>(&mut self, offset: V)
where V: Into<Vec2>,

Adds the given offset to this rectangle.

source

pub fn size(self) -> Vec2

Returns the size of the rectangle.

source

pub fn width(self) -> usize

Returns the width of the rectangle.

source

pub fn height(self) -> usize

Returns the height of the rectangle.

source

pub fn top_left(self) -> Vec2

Returns the top-left corner.

This is inclusive.

source

pub fn bottom_right(self) -> Vec2

Returns the bottom-right corner.

This is inclusive.

source

pub fn top_right(self) -> Vec2

Returns the top-right corner.

This is inclusive.

source

pub fn bottom_left(self) -> Vec2

Returns the bottom-left corner.

This is inclusive.

source

pub fn top(self) -> usize

Returns the Y value of the top edge of the rectangle.

This is inclusive.

source

pub fn left(self) -> usize

Returns the X value of the left edge of the rectangle.

This is inclusive.

source

pub fn right(self) -> usize

Returns the X value of the right edge of the rectangle.

This is inclusive.

source

pub fn bottom(self) -> usize

Returns the Y value of the bottom edge of the rectangle.

This is inclusive.

source

pub fn surface(self) -> usize

Returns the surface (number of cells) covered by the rectangle.

source

pub fn contains(self, point: Vec2) -> bool

Checks if a point is in self.

Trait Implementations§

source§

impl<T> Add<T> for Rect
where T: Into<Vec2>,

§

type Output = Rect

The resulting type after applying the + operator.
source§

fn add(self, rhs: T) -> Self

Performs the + operation. Read more
source§

impl Clone for Rect

source§

fn clone(&self) -> Rect

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Rect

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for Rect

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Rect

source§

fn eq(&self, other: &Rect) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for Rect

source§

impl Eq for Rect

source§

impl StructuralPartialEq for Rect

Auto Trait Implementations§

§

impl Freeze for Rect

§

impl RefUnwindSafe for Rect

§

impl Send for Rect

§

impl Sync for Rect

§

impl Unpin for Rect

§

impl UnwindSafe for Rect

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> CloneToUninit for T
where T: Copy,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> With for T

source§

fn wrap_with<U, F: FnOnce(Self) -> U>(self, f: F) -> U

Calls the given closure and return the result. Read more
source§

fn with<F: FnOnce(&mut Self)>(self, f: F) -> Self

Calls the given closure on self.
source§

fn try_with<E, F>(self, f: F) -> Result<Self, E>
where F: FnOnce(&mut Self) -> Result<(), E>,

Calls the given closure on self.
source§

fn with_if<F>(self, condition: bool, f: F) -> Self
where F: FnOnce(&mut Self),

Calls the given closure if condition == true.