Struct graphene::Rect [−][src]
pub struct Rect(_);
Expand description
The location and size of a rectangle region.
The width and height of a Rect
can be negative; for instance,
a Rect
with an origin of [ 0, 0 ] and a size of [ 10, 10 ] is
equivalent to a Rect
with an origin of [ 10, 10 ] and a size
of [ -10, -10 ].
Application code can normalize rectangles using normalize()
;
this function will ensure that the width and height of a rectangle are
positive values. All functions taking a Rect
as an argument
will internally operate on a normalized copy; all functions returning a
Rect
will always return a normalized rectangle.
Implementations
Retrieves the normalized height of the given rectangle.
Returns
the normalized height of the rectangle
Retrieves the normalized width of the given rectangle.
Returns
the normalized width of the rectangle
Retrieves the normalized X coordinate of the origin of the given rectangle.
Returns
the normalized X coordinate of the rectangle
Retrieves the normalized Y coordinate of the origin of the given rectangle.
Returns
the normalized Y coordinate of the rectangle
Changes the given rectangle to be smaller, or larger depending on the given inset parameters.
To create an inset rectangle, use positive d_x
or d_y
values; to
create a larger, encompassing rectangle, use negative d_x
or d_y
values.
The origin of the rectangle is offset by d_x
and d_y
, while the size
is adjusted by (2 *
d_x, 2 *
d_y)
. If d_x
and d_y
are positive
values, the size of the rectangle is decreased; if d_x
and d_y
are
negative values, the size of the rectangle is increased.
If the size of the resulting inset rectangle has a negative width or height then the size will be set to zero.
d_x
the horizontal inset
d_y
the vertical inset
Returns
the inset rectangle
Changes the given rectangle to be smaller, or larger depending on the given inset parameters.
To create an inset rectangle, use positive d_x
or d_y
values; to
create a larger, encompassing rectangle, use negative d_x
or d_y
values.
The origin of the rectangle is offset by d_x
and d_y
, while the size
is adjusted by (2 *
d_x, 2 *
d_y)
. If d_x
and d_y
are positive
values, the size of the rectangle is decreased; if d_x
and d_y
are
negative values, the size of the rectangle is increased.
If the size of the resulting inset rectangle has a negative width or height then the size will be set to zero.
d_x
the horizontal inset
d_y
the vertical inset
Returns
res
return location for the inset rectangle
Computes the intersection of the two given rectangles.
The intersection in the image above is the blue outline.
If the two rectangles do not intersect, res
will contain
a degenerate rectangle with origin in (0, 0) and a size of 0.
b
a Rect
Returns
true
if the two rectangles intersect
res
return location for
a Rect
Normalizes the passed rectangle.
This function ensures that the size of the rectangle is made of positive values, and that the origin is the top-left corner of the rectangle.
Returns
the normalized rectangle
Rounds the origin of the given rectangle to its nearest integer value and and recompute the size so that the rectangle is large enough to contain all the conrners of the original rectangle.
This function is the equivalent of calling floor
on
the coordinates of the origin, and recomputing the size
calling ceil
on the bottom-right coordinates.
If you want to be sure that the rounded rectangle completely covers the area that was covered by the original rectangle — i.e. you want to cover the area including all its corners — this function will make sure that the size is recomputed taking into account the ceiling of the coordinates of the bottom-right corner. If the difference between the original coordinates and the coordinates of the rounded rectangle is greater than the difference between the original size and and the rounded size, then the move of the origin would not be compensated by a move in the anti-origin, leaving the corners of the original rectangle outside the rounded one.
Returns
res
return location for the rectangle with rounded extents
Trait Implementations
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Returns the type identifier of Self
.
Auto Trait Implementations
impl RefUnwindSafe for Rect
impl UnwindSafe for Rect
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<'a, T, C> FromValueOptional<'a> for T where
C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,
T: FromValue<'a, Checker = C>,