# Type Alias style::values::computed::length_percentage::NonNegativeLengthPercentage

source · `pub type NonNegativeLengthPercentage = NonNegative<LengthPercentage>;`

## Expand description

A wrapper of LengthPercentage, whose value must be >= 0.

## Aliased Type§

`struct NonNegativeLengthPercentage(pub LengthPercentage);`

## Fields§

§`0: LengthPercentage`

## Implementations§

source§### impl NonNegativeLengthPercentage

### impl NonNegativeLengthPercentage

source#### pub fn is_definitely_zero(&self) -> bool

#### pub fn is_definitely_zero(&self) -> bool

Returns true if the computed value is absolute 0 or 0%.

source#### pub fn to_used_value(&self, containing_length: Au) -> Au

#### pub fn to_used_value(&self, containing_length: Au) -> Au

Returns the used value.

## Trait Implementations§

source§### impl<T: Add<Output = T>> Add<NonNegative<T>> for NonNegative<T>

### impl<T: Add<Output = T>> Add<NonNegative<T>> for NonNegative<T>

source§### impl<T> Animate for NonNegative<T>where
T: Animate,

### impl<T> Animate for NonNegative<T>where T: Animate,

source§### impl<T: Clone> Clone for NonNegative<T>

### impl<T: Clone> Clone for NonNegative<T>

source§#### fn clone(&self) -> NonNegative<T>

#### fn clone(&self) -> NonNegative<T>

Returns a copy of the value. Read more

1.0.0 · source§#### fn clone_from(&mut self, source: &Self)

#### fn clone_from(&mut self, source: &Self)

Performs copy-assignment from

`source`

. Read moresource§### impl<T> ComputeSquaredDistance for NonNegative<T>where
T: ComputeSquaredDistance,

### impl<T> ComputeSquaredDistance for NonNegative<T>where T: ComputeSquaredDistance,

source§#### fn compute_squared_distance(&self, other: &Self) -> Result<SquaredDistance, ()>

#### fn compute_squared_distance(&self, other: &Self) -> Result<SquaredDistance, ()>

Computes the squared distance between two animatable values.

source§### impl<T: Debug> Debug for NonNegative<T>

### impl<T: Debug> Debug for NonNegative<T>

source§### impl<'de, T> Deserialize<'de> for NonNegative<T>where
T: Deserialize<'de>,

### impl<'de, T> Deserialize<'de> for NonNegative<T>where T: Deserialize<'de>,

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>,

Deserialize this value from the given Serde deserializer. Read more

source§### impl<T: Hash> Hash for NonNegative<T>

### impl<T: Hash> Hash for NonNegative<T>

source§### impl<T> MallocSizeOf for NonNegative<T>where
T: MallocSizeOf,

### impl<T> MallocSizeOf for NonNegative<T>where T: MallocSizeOf,

source§#### fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

#### fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.

source§### impl<T: PartialEq> PartialEq<NonNegative<T>> for NonNegative<T>

### impl<T: PartialEq> PartialEq<NonNegative<T>> for NonNegative<T>

source§#### fn eq(&self, other: &NonNegative<T>) -> bool

#### fn eq(&self, other: &NonNegative<T>) -> bool

This method tests for

`self`

and `other`

values to be equal, and is used
by `==`

.source§### impl<T: PartialOrd> PartialOrd<NonNegative<T>> for NonNegative<T>

### impl<T: PartialOrd> PartialOrd<NonNegative<T>> for NonNegative<T>

source§#### fn partial_cmp(&self, other: &NonNegative<T>) -> Option<Ordering>

#### fn partial_cmp(&self, other: &NonNegative<T>) -> Option<Ordering>

1.0.0 · source§#### fn le(&self, other: &Rhs) -> bool

#### fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for

`self`

and `other`

) and is used by the `<=`

operator. Read moresource§### impl<T> Serialize for NonNegative<T>where
T: Serialize,

### impl<T> Serialize for NonNegative<T>where T: Serialize,

source§### impl<T> SpecifiedValueInfo for NonNegative<T>where
T: SpecifiedValueInfo,

### impl<T> SpecifiedValueInfo for NonNegative<T>where T: SpecifiedValueInfo,

source§#### const SUPPORTED_TYPES: u8 = _

#### const SUPPORTED_TYPES: u8 = _

Supported CssTypes by the given value type. Read more

source§### impl ToAnimatedValue for NonNegativeLengthPercentage

### impl ToAnimatedValue for NonNegativeLengthPercentage

§#### type AnimatedValue = LengthPercentage

#### type AnimatedValue = LengthPercentage

The type of the animated value.

source§#### fn to_animated_value(self) -> Self::AnimatedValue

#### fn to_animated_value(self) -> Self::AnimatedValue

Converts this value to an animated value.

source§#### fn from_animated_value(animated: Self::AnimatedValue) -> Self

#### fn from_animated_value(animated: Self::AnimatedValue) -> Self

Converts back an animated value into a computed value.

source§### impl<T> ToAnimatedZero for NonNegative<T>where
T: ToAnimatedZero,

### impl<T> ToAnimatedZero for NonNegative<T>where T: ToAnimatedZero,

source§#### fn to_animated_zero(&self) -> Result<Self, ()>

#### fn to_animated_zero(&self) -> Result<Self, ()>

Returns a value that, when added with an underlying value, will produce the underlying
value. This is used for SMIL animation’s “by-animation” where SMIL first interpolates from
the zero value to the ‘by’ value, and then adds the result to the underlying value. Read more

source§### impl<T> ToComputedValue for NonNegative<T>where
T: ToComputedValue,

### impl<T> ToComputedValue for NonNegative<T>where T: ToComputedValue,

§#### type ComputedValue = NonNegative<<T as ToComputedValue>::ComputedValue>

#### type ComputedValue = NonNegative<<T as ToComputedValue>::ComputedValue>

The computed value type we’re going to be converted to.

source§#### fn from_computed_value(from: &Self::ComputedValue) -> Self

#### fn from_computed_value(from: &Self::ComputedValue) -> Self

Convert a computed value to specified value form. Read more

source§#### fn to_computed_value(&self, context: &Context<'_>) -> Self::ComputedValue

#### fn to_computed_value(&self, context: &Context<'_>) -> Self::ComputedValue

Convert a specified value to a computed value, using itself and the data
inside the

`Context`

.source§### impl<T> ToCss for NonNegative<T>where
T: ToCss,

### impl<T> ToCss for NonNegative<T>where T: ToCss,

source§### impl<T> ToResolvedValue for NonNegative<T>where
T: ToResolvedValue,

### impl<T> ToResolvedValue for NonNegative<T>where T: ToResolvedValue,

§#### type ResolvedValue = NonNegative<<T as ToResolvedValue>::ResolvedValue>

#### type ResolvedValue = NonNegative<<T as ToResolvedValue>::ResolvedValue>

The resolved value type we’re going to be converted to.

source§#### fn from_resolved_value(from: Self::ResolvedValue) -> Self

#### fn from_resolved_value(from: Self::ResolvedValue) -> Self

Convert a resolved value to resolved value form.

source§#### fn to_resolved_value(self, context: &Context<'_>) -> Self::ResolvedValue

#### fn to_resolved_value(self, context: &Context<'_>) -> Self::ResolvedValue

Convert a resolved value to a resolved value.