pub struct Rect {
pub x: f32,
pub y: f32,
pub w: f32,
pub h: f32,
}Expand description
A rectangle: its corner x, y (the one with the smallest coordinates)
and its size.
Fields§
§x: f32§y: f32§w: f32§h: f32Implementations§
Source§impl Rect
impl Rect
pub const fn new(x: f32, y: f32, w: f32, h: f32) -> Rect
Sourcepub const fn from_edges(x0: f32, y0: f32, x1: f32, y1: f32) -> Rect
pub const fn from_edges(x0: f32, y0: f32, x1: f32, y1: f32) -> Rect
The rectangle from x0, y0 to x1, y1 (x1 ≥ x0, y1 ≥ y0).
Sourcepub fn from_corners(a: Vec2, b: Vec2) -> Rect
pub fn from_corners(a: Vec2, b: Vec2) -> Rect
The rectangle from corner a to corner b, in any order.
pub fn right(&self) -> f32
pub fn bottom(&self) -> f32
pub fn center(&self) -> Vec2
pub fn contains(&self, p: Vec2) -> bool
Sourcepub fn inset(&self, pad: [f32; 4]) -> Rect
pub fn inset(&self, pad: [f32; 4]) -> Rect
The rect shrunk by pad (top, right, bottom, left — y down), never
negative.
pub fn translate(&self, d: Vec2) -> Rect
Sourcepub fn intersect(&self, o: &Rect) -> Option<Rect>
pub fn intersect(&self, o: &Rect) -> Option<Rect>
The overlap of two rects; None when they don’t overlap.
pub fn union(&self, o: &Rect) -> Rect
Trait Implementations§
impl Copy for Rect
Source§impl Schema for Rect
impl Schema for Rect
Source§fn encode(&self, __yog_w: &mut Writer)
fn encode(&self, __yog_w: &mut Writer)
Writes itself in the binary form, straight —
Schema::write’s
value encoded, unless the type knows better (derived ones do).Source§fn decode(__yog_d: &mut Decoder<'_>) -> Option<Rect>
fn decode(__yog_d: &mut Decoder<'_>) -> Option<Rect>
Reads itself from the binary form, straight;
None when it isn’t
what Schema::encode writes — then read_bytes reads the slow
way, which says what’s wrong. Through a value unless the type knows
better (derived ones do).Source§fn pack(&self, __yog_p: &mut Packer)
fn pack(&self, __yog_p: &mut Packer)
Packs itself into a frame (
crate::frame): its binary form as
bytes, unless the type packs itself (derived ones and plain types do).Source§fn unpack(__yog_u: &mut Unpacker<'_>) -> Option<Rect>
fn unpack(__yog_u: &mut Unpacker<'_>) -> Option<Rect>
Reads itself out of a frame;
None if the bytes aren’t what
Schema::pack writes.Source§fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<Rect>
fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<Rect>
Reads
v. Problems go to cx at its current path; None when the
value couldn’t be read (the problem is in cx).Source§fn absent() -> Option<Self>
fn absent() -> Option<Self>
The value of a field that isn’t there —
None: the field is required.Source§fn pack_list(items: &[Self], p: &mut Packer)
fn pack_list(items: &[Self], p: &mut Packer)
A list of these packed: a count, then each one (floats raw).
Source§fn encode_list(items: &[Self], w: &mut Writer)
fn encode_list(items: &[Self], w: &mut Writer)
A list of these written straight (numbers pack theirs).
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 UnsafeUnpin for Rect
impl UnwindSafe for Rect
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Message for Twhere
T: Schema,
impl<T> Message for Twhere
T: Schema,
Source§fn from_bytes(bytes: &[u8]) -> Option<Self>
fn from_bytes(bytes: &[u8]) -> Option<Self>
The message read from a payload;
None if it isn’t one.Source§fn with_bytes<R>(&self, f: impl FnOnce(&[u8]) -> R) -> R
fn with_bytes<R>(&self, f: impl FnOnce(&[u8]) -> R) -> R
f on the payload, packed in this thread’s reused buffers: nothing
allocated once they’ve grown to the thread’s messages.