#[repr(u8)]pub enum Side {
Left = 0,
Bot = 1,
Right = 2,
Top = 3,
}
Expand description
An enumeration of the sides of an axis-aligned rectangle.
Variants§
Implementations§
source§impl Side
impl Side
sourcepub const fn iter() -> SideIndexableIter ⓘ
pub const fn iter() -> SideIndexableIter ⓘ
Returns an iterator over all items of Side
sourcepub const fn count() -> usize
pub const fn count() -> usize
Returns the number of items that will be returned by SideIndexableIter
that are not disabled members of Side
source§impl Side
impl Side
sourcepub fn coord_dir(&self) -> Dir
pub fn coord_dir(&self) -> Dir
Gets the direction of the coordinate corresponding to this side.
Top and bottom edges are y-coordinates, so they are on the vertical axis. Left and right edges are x-coordinates, so they are on the horizontal axis.
Also see Side::edge_dir
.
sourcepub fn edge_dir(&self) -> Dir
pub fn edge_dir(&self) -> Dir
Gets the direction of the edge corresponding to this side.
Top and bottom edges are horizontal line segments; left and right edges are vertical line segments.
Also see Side::coord_dir
.
sourcepub fn with_dir_and_sign(dir: Dir, sign: Sign) -> Side
pub fn with_dir_and_sign(dir: Dir, sign: Sign) -> Side
Returns the side corresponding with the given Dir
and Sign
.
§Example
assert_eq!(Side::with_dir_and_sign(Dir::Horiz, Sign::Neg), Side::Left);
assert_eq!(Side::with_dir_and_sign(Dir::Vert, Sign::Neg), Side::Bot);
assert_eq!(Side::with_dir_and_sign(Dir::Horiz, Sign::Pos), Side::Right);
assert_eq!(Side::with_dir_and_sign(Dir::Vert, Sign::Pos), Side::Top);
Trait Implementations§
source§impl<'de> Deserialize<'de> for Side
impl<'de> Deserialize<'de> for Side
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Indexable for Side
impl Indexable for Side
source§const SET_SIZE: usize = 1usize
const SET_SIZE: usize = 1usize
The number of bytes it will take to represent this type in a set. Read more
§type Iter = SideIndexableIter
type Iter = SideIndexableIter
The type of Iterator that will be returned by [
Self::iter()
]source§impl PartialEq for Side
impl PartialEq for Side
source§impl ReverseIndexable for Side
impl ReverseIndexable for Side
source§fn from_index(u: usize) -> Self
fn from_index(u: usize) -> Self
Converts from a usize to
Self
impl Copy for Side
impl Eq for Side
impl StructuralPartialEq for Side
Auto Trait Implementations§
impl RefUnwindSafe for Side
impl Send for Side
impl Sync for Side
impl Unpin for Side
impl UnwindSafe for Side
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