Skip to main content

Rect2D

Struct Rect2D 

Source
#[repr(C)]
pub struct Rect2D { pub min: Vec2, pub max: Vec2, }
Expand description

A 2D axis-aligned rectangle defined by its top-left corner (min) and bottom-right corner (max).

Mirrors the design of Aabb for 2D — used by UI surfaces (panels, painters, hit-tests). Y axis points downward, matching most window systems.

Fields§

§min: Vec2

Top-left corner (smallest x, smallest y).

§max: Vec2

Bottom-right corner (largest x, largest y).

Implementations§

Source§

impl Rect2D

Source

pub const ZERO: Self

A zero-sized rectangle anchored at the origin.

Source

pub const fn from_min_max(min: Vec2, max: Vec2) -> Self

Creates a rectangle from its min and max corners.

Source

pub const fn from_min_size(min: Vec2, size: Vec2) -> Self

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

Source

pub fn from_center_size(center: Vec2, size: Vec2) -> Self

Creates a rectangle centered on center with the given size.

Source

pub fn width(&self) -> f32

Width of the rectangle.

Source

pub fn height(&self) -> f32

Height of the rectangle.

Source

pub fn size(&self) -> Vec2

Size as a Vec2 (width, height).

Source

pub fn center(&self) -> Vec2

Center point of the rectangle.

Source

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

Returns true if point lies inside this rectangle (inclusive of min, exclusive of max — typical hit-test convention).

Trait Implementations§

Source§

impl Clone for Rect2D

Source§

fn clone(&self) -> Rect2D

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 Debug for Rect2D

Source§

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

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

impl Default for Rect2D

Source§

fn default() -> Rect2D

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

impl PartialEq for Rect2D

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 Rect2D

Source§

impl StructuralPartialEq for Rect2D

Auto Trait Implementations§

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> AppLifecycle for T
where T: ?Sized,

Source§

fn on_start(&mut self, ctx: &mut dyn AppContext)

Called once after the backend is up but before the first update. Apps install their theme / fonts here.
Source§

fn on_exit(&mut self)

Called once when the window is closing. Persist state here.
Source§

impl<T> AsAny for T
where T: Any,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Returns a reference to the inner value as &dyn Any.
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 = 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>,

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.