Skip to main content

Rect

Struct Rect 

Source
pub struct Rect {
    pub x0: f32,
    pub y0: f32,
    pub x1: f32,
    pub y1: f32,
}
Expand description

An axis-aligned rectangle in logical pixels, stored as its minimum and maximum corners.

x0 and y0 are the top left corner and x1 and y1 are the bottom right corner. A rectangle is empty when its width or its height is not positive, which includes the case where the corners are inverted.

Fields§

§x0: f32

Horizontal coordinate of the top left corner.

§y0: f32

Vertical coordinate of the top left corner.

§x1: f32

Horizontal coordinate of the bottom right corner.

§y1: f32

Vertical coordinate of the bottom right corner.

Implementations§

Source§

impl Rect

Source

pub const fn new(x0: f32, y0: f32, x1: f32, y1: f32) -> Rect

Creates a rectangle from its minimum and maximum corners.

Source

pub fn from_origin_size(origin: Point, size: Size) -> Rect

Creates a rectangle from its top left corner and its size.

Source

pub fn width(self) -> f32

Returns the horizontal extent, which is not positive when the rectangle is empty.

Source

pub fn height(self) -> f32

Returns the vertical extent, which is not positive when the rectangle is empty.

Source

pub fn size(self) -> Size

Returns the horizontal and vertical extents as a Size.

Source

pub fn origin(self) -> Point

Returns the top left corner.

Source

pub fn is_empty(self) -> bool

Returns true when the rectangle covers no area.

A rectangle is empty when its width or its height is not positive, and when either extent is NaN.

Source

pub fn area(self) -> f32

Returns the area in square logical pixels, or zero when the rectangle is empty.

Source

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

Returns true when the point lies inside the rectangle or on its edge.

An empty rectangle contains no point.

Source

pub fn translated(self, by: Point) -> Rect

Returns the rectangle moved by by.

Source

pub fn intersect(self, other: Rect) -> Rect

Returns the part of the rectangle that overlaps other.

The result is empty when the two do not overlap or when either operand is empty.

Source

pub fn union(self, other: Rect) -> Rect

Returns the smallest rectangle covering both operands.

An empty operand is ignored, so the union of an empty rectangle with other is other.

Trait Implementations§

Source§

impl Clone for Rect

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for Rect

Source§

impl Debug for Rect

Source§

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

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

impl Default for Rect

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for Rect

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Rect

Auto Trait Implementations§

§

impl Forget for Rect

§

impl Freeze for Rect

§

impl Move for Rect

§

impl RefUnwindSafe for Rect

§

impl Send for Rect

§

impl Sync for Rect

§

impl Unpin for Rect

§

impl UnsafeUnpin 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§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
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,

Source§

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>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.