Struct zng::layout::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() -> 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_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_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<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 fill is true
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.
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§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 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<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.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> 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()
.