pub struct PxConstraints2d {
pub x: PxConstraints,
pub y: PxConstraints,
}Expand description
Pixel size constraints.
These constraints can express lower and upper bounds, unbounded upper and preference of fill length for both the x and y axis.
Fields§
§x: PxConstraintsConstraints of lengths in the x or width dimension.
y: PxConstraintsConstraints of lengths in the y or height dimension.
Implementations§
Source§impl PxConstraints2d
impl PxConstraints2d
Sourcepub fn new_unbounded() -> Self
pub fn new_unbounded() -> Self
New unbounded constrain.
Sourcepub fn new_bounded(max_x: Px, max_y: Px) -> Self
pub fn new_bounded(max_x: Px, max_y: Px) -> Self
New bounded between zero and max_y, max_y with no fill.
Sourcepub fn new_bounded_size(max: PxSize) -> Self
pub fn new_bounded_size(max: PxSize) -> Self
New bounded between zero and max with no fill.
Sourcepub fn new_exact(x: Px, y: Px) -> Self
pub fn new_exact(x: Px, y: Px) -> Self
New bounded to only allow the size and fill.
The type PxSize can also be converted into fixed constraints.
Sourcepub fn new_exact_size(size: PxSize) -> Self
pub fn new_exact_size(size: PxSize) -> Self
New bounded to only allow the size and fill.
Sourcepub fn new_fill_size(size: PxSize) -> Self
pub fn new_fill_size(size: PxSize) -> Self
New bounded to fill the maximum size.
Sourcepub fn with_new_min(self, min_x: Px, min_y: Px) -> Self
pub fn with_new_min(self, min_x: Px, min_y: Px) -> Self
Returns a copy of the current constraints that has min_x and min_y as the lower
bound and max adjusted to be >= min in both axis.
Sourcepub fn with_min(self, min_x: Px, min_y: Px) -> Self
pub fn with_min(self, min_x: Px, min_y: Px) -> Self
Returns a copy of the current constraints that has min_x and min_y as the lower
bound and max adjusted to be >= min in both axis, if the new min is greater then the current min.
Sourcepub fn with_new_min_size(self, min: PxSize) -> Self
pub fn with_new_min_size(self, min: PxSize) -> Self
Returns a copy of the current constraints that has min as the lower
bound and max adjusted to be >= min in both axis.
Sourcepub fn with_min_size(self, min: PxSize) -> Self
pub fn with_min_size(self, min: PxSize) -> Self
Returns a copy of the current constraints that has min as the lower
bound and max adjusted to be >= min in both axis, if the new min is greater then the current min.
Sourcepub fn with_new_min_x(self, min_x: Px) -> Self
pub fn with_new_min_x(self, min_x: Px) -> Self
Returns a copy of the current constraints that has min_x as the lower
bound and max adjusted to be >= min in the x axis.
Sourcepub fn with_new_min_y(self, min_y: Px) -> Self
pub fn with_new_min_y(self, min_y: Px) -> Self
Returns a copy of the current constraints that has min_y as the lower
bound and max adjusted to be >= min in the y axis.
Sourcepub fn with_min_x(self, min_x: Px) -> Self
pub fn with_min_x(self, min_x: Px) -> Self
Returns a copy of the current constraints that has min_x as the lower
bound and max adjusted to be >= min in the x axis if the new min is greater then the current min.
Sourcepub fn with_min_y(self, min_y: Px) -> Self
pub fn with_min_y(self, min_y: Px) -> Self
Returns a copy of the current constraints that has min_y as the lower
bound and max adjusted to be >= min in the y axis if the new min is greater then the current min.
Sourcepub fn with_new_max(self, max_x: Px, max_y: Px) -> Self
pub fn with_new_max(self, max_x: Px, max_y: Px) -> Self
Returns a copy of the current constraints that has max_x and max_y as the upper
bound and min adjusted to be <= max in both axis.
Sourcepub fn with_max(self, max_x: Px, max_y: Px) -> Self
pub fn with_max(self, max_x: Px, max_y: Px) -> Self
Returns a copy of the current constraints that has max_x and max_y as the upper
bound and min adjusted to be <= max in both axis if the new max if less then the current max.
Sourcepub fn with_new_max_size(self, max: PxSize) -> Self
pub fn with_new_max_size(self, max: PxSize) -> Self
Returns a copy of the current constraints that has max as the upper
bound and min adjusted to be <= max in both axis.
Sourcepub fn with_max_size(self, max: PxSize) -> Self
pub fn with_max_size(self, max: PxSize) -> Self
Returns a copy of the current constraints that has max as the upper
bound and min adjusted to be <= max in both axis if the new max if less then the current max.
Sourcepub fn with_new_max_x(self, max_x: Px) -> Self
pub fn with_new_max_x(self, max_x: Px) -> Self
Returns a copy of the current constraints that has min_x as the lower
bound and max adjusted to be << max in the x axis.
Sourcepub fn with_new_max_y(self, max_y: Px) -> Self
pub fn with_new_max_y(self, max_y: Px) -> Self
Returns a copy of the current constraints that has max_y as the lower
bound and min adjusted to be <= max in the y axis.
Sourcepub fn with_max_x(self, max_x: Px) -> Self
pub fn with_max_x(self, max_x: Px) -> Self
Returns a copy of the current constraints that has min_x as the lower
bound and max adjusted to be << max in the x axis if the new max if less then the current max.
Sourcepub fn with_max_y(self, max_y: Px) -> Self
pub fn with_max_y(self, max_y: Px) -> Self
Returns a copy of the current constraints that has max_y as the lower
bound and min adjusted to be <= max in the y axis if the new max if less then the current max.
Sourcepub fn with_new_exact(self, x: Px, y: Px) -> Self
pub fn with_new_exact(self, x: Px, y: Px) -> Self
Returns a copy with min and max bounds set to x and y.
Sourcepub fn with_exact(self, x: Px, y: Px) -> Self
pub fn with_exact(self, x: Px, y: Px) -> Self
Returns a copy with min and max bounds set to x and y clamped by the current constraints.
Sourcepub fn with_new_exact_size(self, size: PxSize) -> Self
pub fn with_new_exact_size(self, size: PxSize) -> Self
Returns a copy with min and max bounds set to size.
Sourcepub fn with_exact_size(self, size: PxSize) -> Self
pub fn with_exact_size(self, size: PxSize) -> Self
Returns a copy with min and max bounds set to size clamped by the current constraints.
Sourcepub fn with_new_exact_x(self, x: Px) -> Self
pub fn with_new_exact_x(self, x: Px) -> Self
Returns a copy of the current constraints with the x maximum and minimum set to x.
Sourcepub fn with_new_exact_y(self, y: Px) -> Self
pub fn with_new_exact_y(self, y: Px) -> Self
Returns a copy of the current constraints with the y maximum and minimum set to y.
Sourcepub fn with_exact_x(self, x: Px) -> Self
pub fn with_exact_x(self, x: Px) -> Self
Returns a copy of the current constraints with the x maximum and minimum set to x
clamped by the current constraints.
Sourcepub fn with_exact_y(self, y: Px) -> Self
pub fn with_exact_y(self, y: Px) -> Self
Returns a copy of the current constraints with the y maximum and minimum set to y
clamped by the current constraints.
Sourcepub fn with_fill(self, fill_x: bool, fill_y: bool) -> Self
pub fn with_fill(self, fill_x: bool, fill_y: bool) -> Self
Returns a copy of the current constraints that sets the fill_x and fill_y preference.
Sourcepub fn with_inner(self, inner_x: bool, inner_y: bool) -> Self
pub fn with_inner(self, inner_x: bool, inner_y: bool) -> Self
Returns a copy of the current constraints that sets the is_inner preference.
Sourcepub fn with_fill_and(self, fill_x: bool, fill_y: bool) -> Self
pub fn with_fill_and(self, fill_x: bool, fill_y: bool) -> Self
Returns a copy of the current constraints that sets the fill preference to current && fill.
Sourcepub fn with_fill_vector(self, fill: BoolVector2D) -> Self
pub fn with_fill_vector(self, fill: BoolVector2D) -> Self
Returns a copy of the current constraints that sets the fill preference
Sourcepub fn with_fill_x(self, fill_x: bool) -> Self
pub fn with_fill_x(self, fill_x: bool) -> Self
Returns a copy of the current constraints that sets the fill_x preference.
Sourcepub fn with_fill_y(self, fill_y: bool) -> Self
pub fn with_fill_y(self, fill_y: bool) -> Self
Returns a copy of the current constraints that sets the fill_y preference.
Sourcepub fn with_unbounded(self) -> Self
pub fn with_unbounded(self) -> Self
Returns a copy of the current constraints without upper bound in both axis.
Sourcepub fn with_unbounded_x(self) -> Self
pub fn with_unbounded_x(self) -> Self
Returns a copy of the current constraints without a upper bound in the x axis.
Sourcepub fn with_unbounded_y(self) -> Self
pub fn with_unbounded_y(self) -> Self
Returns a copy of the current constraints without a upper bound in the y axis.
Sourcepub fn with_less(self, sub_x: Px, sub_y: Px) -> Self
pub fn with_less(self, sub_x: Px, sub_y: Px) -> Self
Returns a copy of the current constraints with sub_x and sub_y subtracted from the min and max bounds.
The subtraction is saturating, does not subtract max if unbounded.
Sourcepub fn with_less_size(self, sub: PxSize) -> Self
pub fn with_less_size(self, sub: PxSize) -> Self
Returns a copy of the current constraints with sub subtracted from the min and max bounds.
The subtraction is saturating, does not subtract max if unbounded.
Sourcepub fn with_less_x(self, sub_x: Px) -> Self
pub fn with_less_x(self, sub_x: Px) -> Self
Returns a copy of the current constraints with sub_x subtracted from the min and max bounds of the x axis.
The subtraction is saturating, does not subtract max if unbounded.
Sourcepub fn with_less_y(self, sub_y: Px) -> Self
pub fn with_less_y(self, sub_y: Px) -> Self
Returns a copy of the current constraints with sub_y subtracted from the min and max bounds of the y axis.
The subtraction is saturating, does not subtract max if unbounded.
Sourcepub fn with_more(self, add_x: Px, add_y: Px) -> Self
pub fn with_more(self, add_x: Px, add_y: Px) -> Self
Returns a copy of the current constraints with add_x and add_y added to the maximum bounds.
Does a saturation addition, this can potentially unbound the constraints if Px::MAX is reached.
Sourcepub fn with_more_size(self, add: PxSize) -> Self
pub fn with_more_size(self, add: PxSize) -> Self
Returns a copy of the current constraints with add added to the maximum bounds.
Does a saturation addition, this can potentially unbound the constraints if Px::MAX is reached.
Sourcepub fn with_x(self, x: impl FnOnce(PxConstraints) -> PxConstraints) -> Self
pub fn with_x(self, x: impl FnOnce(PxConstraints) -> PxConstraints) -> Self
Returns a copy of the current constraints with x modified by the closure.
Sourcepub fn with_y(self, y: impl FnOnce(PxConstraints) -> PxConstraints) -> Self
pub fn with_y(self, y: impl FnOnce(PxConstraints) -> PxConstraints) -> Self
Returns a copy of the current constraints with y modified by the closure.
Sourcepub fn is_bounded(self) -> BoolVector2D
pub fn is_bounded(self) -> BoolVector2D
Gets if the constraints have an upper bound.
Sourcepub fn is_unbounded(self) -> BoolVector2D
pub fn is_unbounded(self) -> BoolVector2D
Gets if the constraints have no upper bound.
Sourcepub fn is_exact(self) -> BoolVector2D
pub fn is_exact(self) -> BoolVector2D
Gets if the constraints only allow one length.
Sourcepub fn is_fill(self) -> BoolVector2D
pub fn is_fill(self) -> BoolVector2D
Gets if the context prefers the maximum length over the minimum.
Note that if the constraints are unbounded there is not maximum length, in this case the fill length is the minimum.
Sourcepub fn is_fill_max(self) -> BoolVector2D
pub fn is_fill_max(self) -> BoolVector2D
Gets if the context prefers the maximum length over the minimum and there is a maximum length.
Sourcepub fn is_inner(self) -> BoolVector2D
pub fn is_inner(self) -> BoolVector2D
Gets if the context wants the best inner bounds layout the target can provide, without fill padding or overflow clamping.
Widgets have an inner and outer bounds, during normal measure/layout the widget outer is suppose to always fulfill the constraints, and the inner is the actual best approximation to the given constraints. This flag indicates that the panel the child widget to skip this final pad/clamp and just return its best size for the given constraints.
Sourcepub fn fixed_size(self) -> Option<PxSize>
pub fn fixed_size(self) -> Option<PxSize>
Gets the fixed size if the constraints only allow one length in both axis.
Sourcepub fn max_size(self) -> Option<PxSize>
pub fn max_size(self) -> Option<PxSize>
Gets the maximum allowed size, or None if is unbounded in any of the axis.
The maximum is inclusive.
Sourcepub fn clamp_size(self, size: PxSize) -> PxSize
pub fn clamp_size(self, size: PxSize) -> PxSize
Clamp the size by min and max.
Sourcepub fn fill_size(self) -> PxSize
pub fn fill_size(self) -> PxSize
Gets the fill size, if is_fill this is the maximum length, otherwise it is the minimum length.
Sourcepub fn fill_size_or(self, size: PxSize) -> PxSize
pub fn fill_size_or(self, size: PxSize) -> PxSize
Gets the maximum if fill is preferred and max is bounded, or size clamped by the constraints.
Sourcepub fn fill_or_exact(self) -> Option<PxSize>
pub fn fill_or_exact(self) -> Option<PxSize>
Gets the max size if is fill and has max bounds, or gets the exact size if min equals max.
Sourcepub fn max_size_or(self, size: PxSize) -> PxSize
pub fn max_size_or(self, size: PxSize) -> PxSize
Gets the maximum size if bounded, or the size clamped by constraints.
Sourcepub fn max_bounded_size(self) -> PxSize
pub fn max_bounded_size(self) -> PxSize
Gets the maximum size if bounded, or the minimum if not.
Sourcepub fn fill_ratio(self, size: PxSize) -> PxSize
pub fn fill_ratio(self, size: PxSize) -> PxSize
Gets the maximum fill size that preserves the size ratio.
Trait Implementations§
Source§impl Clone for PxConstraints2d
impl Clone for PxConstraints2d
Source§fn clone(&self) -> PxConstraints2d
fn clone(&self) -> PxConstraints2d
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PxConstraints2d
impl Debug for PxConstraints2d
Source§impl Default for PxConstraints2d
impl Default for PxConstraints2d
Source§impl<'de> Deserialize<'de> for PxConstraints2d
impl<'de> Deserialize<'de> for PxConstraints2d
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>,
Source§impl Hash for PxConstraints2d
impl Hash for PxConstraints2d
Source§impl IntoVar<PxConstraints2d> for (PxSize, PxSize)
impl IntoVar<PxConstraints2d> for (PxSize, PxSize)
Source§fn into_var(self) -> Var<PxConstraints2d>
fn into_var(self) -> Var<PxConstraints2d>
New range, the minimum and maximum is computed.
Source§impl IntoVar<PxConstraints2d> for PxSize
impl IntoVar<PxConstraints2d> for PxSize
Source§fn into_var(self) -> Var<PxConstraints2d>
fn into_var(self) -> Var<PxConstraints2d>
New exact.
Source§impl PartialEq for PxConstraints2d
impl PartialEq for PxConstraints2d
Source§impl Serialize for PxConstraints2d
impl Serialize for PxConstraints2d
Source§impl Transitionable for PxConstraints2d
impl Transitionable for PxConstraints2d
Source§fn lerp(self, to: &Self, step: EasingStep) -> Self
fn lerp(self, to: &Self, step: EasingStep) -> Self
self -> to by step.impl Copy for PxConstraints2d
impl Eq for PxConstraints2d
impl IntoValue<PxConstraints2d> for (PxSize, PxSize)
impl IntoValue<PxConstraints2d> for PxSize
impl StructuralPartialEq for PxConstraints2d
Auto Trait Implementations§
impl Freeze for PxConstraints2d
impl RefUnwindSafe for PxConstraints2d
impl Send for PxConstraints2d
impl Sync for PxConstraints2d
impl Unpin for PxConstraints2d
impl UnwindSafe for PxConstraints2d
Blanket Implementations§
Source§impl<T> AnyVarValue for T
impl<T> AnyVarValue for T
Source§fn clone_boxed(&self) -> BoxAnyVarValue
fn clone_boxed(&self) -> BoxAnyVarValue
Source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
self and other are equal.Source§fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
other if both are of the same type.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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more