Struct zng_layout::unit::PxConstraints2d
source · 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: PxConstraints
Constraints of lengths in the x or width dimension.
y: PxConstraints
Constraints 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_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_pref(self) -> BoolVector2D
pub fn is_fill_pref(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 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 fill is true
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
impl IntoVar<PxConstraints2d> for PxSize
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 Twhere
T: VarValue,
impl<T> AnyVarValue for Twhere
T: VarValue,
source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
dyn Any
methods.source§fn clone_boxed(&self) -> Box<dyn AnyVarValue>
fn clone_boxed(&self) -> Box<dyn AnyVarValue>
source§fn clone_boxed_var(&self) -> Box<dyn AnyVar>
fn clone_boxed_var(&self) -> Box<dyn AnyVar>
LocalVar<Self>
.source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
self
equals other
.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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§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<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> 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