Struct egui::Rect [−]
Expand description
A rectangular region of space.
Normally given in points, e.g. logical pixels.
Fields
min: Pos2
max: Pos2
Implementations
impl Rect
impl Rect
pub const EVERYTHING: Rect
pub const EVERYTHING: Rect
Infinite rectangle that contains everything.
The inverse of Self::EVERYTHING
: stretches from positive infinity to negative infinity.
Contains no points.
This is useful as the seed for bounding bounding boxes.
let inf = f32::INFINITY;
assert!(Rect::NOTHING.size() == Vec2::splat(-inf));
assert!(Rect::NOTHING.contains(pos2(0.0, 0.0)) == false);
Example:
let mut rect = Rect::NOTHING;
rect.extend_with(pos2(2.0, 1.0));
rect.extend_with(pos2(0.0, 3.0));
assert_eq!(rect, Rect::from_min_max(pos2(0.0, 1.0), pos2(2.0, 3.0)))
pub const fn from_min_max(min: Pos2, max: Pos2) -> Rect
pub fn from_min_size(min: Pos2, size: Vec2) -> Rect
pub fn from_center_size(center: Pos2, size: Vec2) -> Rect
pub fn from_x_y_ranges(
x_range: RangeInclusive<f32>,
y_range: RangeInclusive<f32>
) -> Rect
pub fn from_two_pos(a: Pos2, b: Pos2) -> Rect
pub fn from_points(points: &[Pos2]) -> Rect
pub fn from_points(points: &[Pos2]) -> Rect
Bounding-box around the points
pub fn everything_right_of(left_x: f32) -> Rect
pub fn everything_right_of(left_x: f32) -> Rect
A Rect
that contains every point to the right of the given X coordinate.
pub fn everything_left_of(right_x: f32) -> Rect
pub fn everything_left_of(right_x: f32) -> Rect
A Rect
that contains every point to the left of the given X coordinate.
pub fn everything_below(top_y: f32) -> Rect
pub fn everything_below(top_y: f32) -> Rect
A Rect
that contains every point below a certain y coordinate
pub fn everything_above(bottom_y: f32) -> Rect
pub fn everything_above(bottom_y: f32) -> Rect
A Rect
that contains every point above a certain y coordinate
pub fn intersects(self, other: Rect) -> bool
pub fn set_height(&mut self, h: f32)
pub fn set_height(&mut self, h: f32)
keep min
pub fn set_center(&mut self, center: Pos2)
pub fn set_center(&mut self, center: Pos2)
Keep size
pub fn contains_rect(&self, other: Rect) -> bool
Return the given points clamped to be inside the rectangle
Panics if Self::is_negative
.
pub fn extend_with(&mut self, p: Pos2)
pub fn extend_with_x(&mut self, x: f32)
pub fn extend_with_x(&mut self, x: f32)
Expand to include the given x coordinate
pub fn extend_with_y(&mut self, y: f32)
pub fn extend_with_y(&mut self, y: f32)
Expand to include the given y coordinate
The union of two bounding rectangle, i.e. the minimum Rect
that contains both input rectangles.
The intersection of two Rect
, i.e. the area covered by both.
pub fn aspect_ratio(&self) -> f32
pub fn aspect_ratio(&self) -> f32
Width / height
aspect_ratio < 1
: portrait / highaspect_ratio = 1
: squareaspect_ratio > 1
: landscape / wide
pub fn square_proportions(&self) -> Vec2
pub fn square_proportions(&self) -> Vec2
[2, 1]
for wide screen, and [1, 2]
for portrait, etc.
At least one dimension = 1, the other >= 1
Returns the proportions required to letter-box a square view area.
pub fn x_range(&self) -> RangeInclusive<f32>
pub fn y_range(&self) -> RangeInclusive<f32>
pub fn bottom_up_range(&self) -> RangeInclusive<f32>
pub fn is_negative(&self) -> bool
pub fn is_negative(&self) -> bool
width < 0 || height < 0
pub fn is_positive(&self) -> bool
pub fn is_positive(&self) -> bool
width > 0 && height > 0
impl Rect
impl Rect
pub fn bottom_mut(&mut self) -> &mut f32
pub fn bottom_mut(&mut self) -> &mut f32
max.y
pub fn set_bottom(&mut self, y: f32)
pub fn set_bottom(&mut self, y: f32)
max.y
pub fn center_top(&self) -> Pos2
pub fn left_center(&self) -> Pos2
pub fn right_center(&self) -> Pos2
pub fn left_bottom(&self) -> Pos2
pub fn center_bottom(&self) -> Pos2
pub fn right_bottom(&self) -> Pos2
Trait Implementations
impl<'de> Deserialize<'de> for Rect
impl<'de> Deserialize<'de> for Rect
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<Rect, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<Rect, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
from (min, max) or (left top, right bottom)
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Pod for Rect
impl StructuralEq for Rect
impl StructuralPartialEq for Rect
Auto Trait Implementations
impl RefUnwindSafe for Rect
impl UnwindSafe for Rect
Blanket Implementations
Mutably borrows from an owned value. Read more