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() -> PxConstraints2d
pub fn new_unbounded() -> PxConstraints2d
New unbounded constrain.
Sourcepub fn new_bounded(max_x: Px, max_y: Px) -> PxConstraints2d
pub fn new_bounded(max_x: Px, max_y: Px) -> PxConstraints2d
New bounded between zero and max_y, max_y with no fill.
Sourcepub fn new_bounded_size(max: Size2D<Px, Px>) -> PxConstraints2d
pub fn new_bounded_size(max: Size2D<Px, Px>) -> PxConstraints2d
New bounded between zero and max with no fill.
Sourcepub fn new_exact(x: Px, y: Px) -> PxConstraints2d
pub fn new_exact(x: Px, y: Px) -> PxConstraints2d
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: Size2D<Px, Px>) -> PxConstraints2d
pub fn new_exact_size(size: Size2D<Px, Px>) -> PxConstraints2d
New bounded to only allow the size and fill.
Sourcepub fn new_fill(x: Px, y: Px) -> PxConstraints2d
pub fn new_fill(x: Px, y: Px) -> PxConstraints2d
New bounded to fill the maximum x and y.
Sourcepub fn new_fill_size(size: Size2D<Px, Px>) -> PxConstraints2d
pub fn new_fill_size(size: Size2D<Px, Px>) -> PxConstraints2d
New bounded to fill the maximum size.
Sourcepub fn with_new_min(self, min_x: Px, min_y: Px) -> PxConstraints2d
pub fn with_new_min(self, min_x: Px, min_y: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_min(self, min_x: Px, min_y: Px) -> PxConstraints2d
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: Size2D<Px, Px>) -> PxConstraints2d
pub fn with_new_min_size(self, min: Size2D<Px, Px>) -> PxConstraints2d
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: Size2D<Px, Px>) -> PxConstraints2d
pub fn with_min_size(self, min: Size2D<Px, Px>) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_new_min_x(self, min_x: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_new_min_y(self, min_y: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_min_x(self, min_x: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_min_y(self, min_y: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_new_max(self, max_x: Px, max_y: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_max(self, max_x: Px, max_y: Px) -> PxConstraints2d
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: Size2D<Px, Px>) -> PxConstraints2d
pub fn with_new_max_size(self, max: Size2D<Px, Px>) -> PxConstraints2d
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: Size2D<Px, Px>) -> PxConstraints2d
pub fn with_max_size(self, max: Size2D<Px, Px>) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_new_max_x(self, max_x: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_new_max_y(self, max_y: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_max_x(self, max_x: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_max_y(self, max_y: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_new_exact(self, x: Px, y: Px) -> PxConstraints2d
Returns a copy with min and max bounds set to x and y.
Sourcepub fn with_exact(self, x: Px, y: Px) -> PxConstraints2d
pub fn with_exact(self, x: Px, y: Px) -> PxConstraints2d
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: Size2D<Px, Px>) -> PxConstraints2d
pub fn with_new_exact_size(self, size: Size2D<Px, Px>) -> PxConstraints2d
Returns a copy with min and max bounds set to size.
Sourcepub fn with_exact_size(self, size: Size2D<Px, Px>) -> PxConstraints2d
pub fn with_exact_size(self, size: Size2D<Px, Px>) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_new_exact_x(self, x: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_new_exact_y(self, y: Px) -> PxConstraints2d
Returns a copy of the current constraints with the y maximum and minimum set to y.
Sourcepub fn with_exact_x(self, x: Px) -> PxConstraints2d
pub fn with_exact_x(self, x: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_exact_y(self, y: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_fill(self, fill_x: bool, fill_y: bool) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_inner(self, inner_x: bool, inner_y: bool) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_fill_and(self, fill_x: bool, fill_y: bool) -> PxConstraints2d
Returns a copy of the current constraints that sets the fill preference to current && fill.
Sourcepub fn with_fill_vector(self, fill: BoolVector2D) -> PxConstraints2d
pub fn with_fill_vector(self, fill: BoolVector2D) -> PxConstraints2d
Returns a copy of the current constraints that sets the fill preference
Sourcepub fn with_fill_x(self, fill_x: bool) -> PxConstraints2d
pub fn with_fill_x(self, fill_x: bool) -> PxConstraints2d
Returns a copy of the current constraints that sets the fill_x preference.
Sourcepub fn with_fill_y(self, fill_y: bool) -> PxConstraints2d
pub fn with_fill_y(self, fill_y: bool) -> PxConstraints2d
Returns a copy of the current constraints that sets the fill_y preference.
Sourcepub fn with_unbounded(self) -> PxConstraints2d
pub fn with_unbounded(self) -> PxConstraints2d
Returns a copy of the current constraints without upper bound in both axis.
Sourcepub fn with_unbounded_x(self) -> PxConstraints2d
pub fn with_unbounded_x(self) -> PxConstraints2d
Returns a copy of the current constraints without a upper bound in the x axis.
Sourcepub fn with_unbounded_y(self) -> PxConstraints2d
pub fn with_unbounded_y(self) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_less(self, sub_x: Px, sub_y: Px) -> PxConstraints2d
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: Size2D<Px, Px>) -> PxConstraints2d
pub fn with_less_size(self, sub: Size2D<Px, Px>) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_less_x(self, sub_x: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_less_y(self, sub_y: Px) -> PxConstraints2d
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) -> PxConstraints2d
pub fn with_more(self, add_x: Px, add_y: Px) -> PxConstraints2d
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: Size2D<Px, Px>) -> PxConstraints2d
pub fn with_more_size(self, add: Size2D<Px, Px>) -> PxConstraints2d
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,
) -> PxConstraints2d
pub fn with_x( self, x: impl FnOnce(PxConstraints) -> PxConstraints, ) -> PxConstraints2d
Returns a copy of the current constraints with x modified by the closure.
Sourcepub fn with_y(
self,
y: impl FnOnce(PxConstraints) -> PxConstraints,
) -> PxConstraints2d
pub fn with_y( self, y: impl FnOnce(PxConstraints) -> PxConstraints, ) -> PxConstraints2d
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<Size2D<Px, Px>>
pub fn fixed_size(self) -> Option<Size2D<Px, Px>>
Gets the fixed size if the constraints only allow one length in both axis.
Sourcepub fn max_size(self) -> Option<Size2D<Px, Px>>
pub fn max_size(self) -> Option<Size2D<Px, Px>>
Gets the maximum allowed size, or None if is unbounded in any of the axis.
The maximum is inclusive.
Sourcepub fn min_size(self) -> Size2D<Px, Px>
pub fn min_size(self) -> Size2D<Px, Px>
Gets the minimum allowed size. The minimum is inclusive.
Sourcepub fn fill_size(self) -> Size2D<Px, Px>
pub fn fill_size(self) -> Size2D<Px, Px>
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: Size2D<Px, Px>) -> Size2D<Px, Px>
pub fn fill_size_or(self, size: Size2D<Px, Px>) -> Size2D<Px, Px>
Gets the maximum if fill is preferred and max is bounded, or size clamped by the constraints.
Sourcepub fn fill_or_exact(self) -> Option<Size2D<Px, Px>>
pub fn fill_or_exact(self) -> Option<Size2D<Px, Px>>
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: Size2D<Px, Px>) -> Size2D<Px, Px>
pub fn max_size_or(self, size: Size2D<Px, Px>) -> Size2D<Px, Px>
Gets the maximum size if bounded, or the size clamped by constraints.
Sourcepub fn max_bounded_size(self) -> Size2D<Px, Px>
pub fn max_bounded_size(self) -> Size2D<Px, Px>
Gets the maximum size if bounded, or the minimum if not.
Sourcepub fn fill_ratio(self, size: Size2D<Px, Px>) -> Size2D<Px, Px>
pub fn fill_ratio(self, size: Size2D<Px, Px>) -> Size2D<Px, Px>
Gets the maximum fill size that preserves the size ratio.
Sourcepub fn inner(self) -> PxConstraints2d
pub fn inner(self) -> PxConstraints2d
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§fn default() -> PxConstraints2d
fn default() -> PxConstraints2d
Source§impl<'de> Deserialize<'de> for PxConstraints2d
impl<'de> Deserialize<'de> for PxConstraints2d
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PxConstraints2d, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PxConstraints2d, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Hash for PxConstraints2d
impl Hash for PxConstraints2d
Source§impl IntoVar<PxConstraints2d> for (Size2D<Px, Px>, Size2D<Px, Px>)
impl IntoVar<PxConstraints2d> for (Size2D<Px, Px>, Size2D<Px, Px>)
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 Size2D<Px, Px>
impl IntoVar<PxConstraints2d> for Size2D<Px, Px>
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§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Source§impl Transitionable for PxConstraints2d
impl Transitionable for PxConstraints2d
Source§fn lerp(self, to: &PxConstraints2d, step: Factor) -> PxConstraints2d
fn lerp(self, to: &PxConstraints2d, step: Factor) -> PxConstraints2d
self -> to by step.impl Copy for PxConstraints2d
impl Eq for PxConstraints2d
impl IntoValue<PxConstraints2d> for (Size2D<Px, Px>, Size2D<Px, Px>)
impl IntoValue<PxConstraints2d> for Size2D<Px, Px>
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§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Source§impl<T> FsChangeNote for T
impl<T> FsChangeNote for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().