pub enum DefiniteLength {
Absolute(AbsoluteLength),
Fraction(f32),
}Expand description
A non-auto length that can be defined in pixels, rems, or percent of parent.
This enum represents lengths that have a specific value, as opposed to lengths that are automatically determined by the context. It includes absolute lengths in pixels or rems, and relative lengths as a fraction of the parent’s size.
Variants§
Absolute(AbsoluteLength)
An absolute length specified in pixels or rems.
Fraction(f32)
A relative length specified as a fraction of the parent’s size, between 0 and 1.
Implementations§
Source§impl DefiniteLength
impl DefiniteLength
Sourcepub fn to_pixels(self, base_size: AbsoluteLength, rem_size: Pixels) -> Pixels
pub fn to_pixels(self, base_size: AbsoluteLength, rem_size: Pixels) -> Pixels
Converts the DefiniteLength to Pixels based on a given base_size and rem_size.
If the DefiniteLength is an absolute length, it will be directly converted to Pixels.
If it is a fraction, the fraction will be multiplied by the base_size to get the length in pixels.
§Arguments
base_size- The base size inAbsoluteLengthto which the fraction will be applied.rem_size- The size of one rem in pixels, used to convert rems to pixels.
§Returns
Returns the DefiniteLength as Pixels.
§Examples
let length_in_pixels = DefiniteLength::Absolute(AbsoluteLength::Pixels(px(42.0)));
let length_in_rems = DefiniteLength::Absolute(AbsoluteLength::Rems(rems(2.0)));
let length_as_fraction = DefiniteLength::Fraction(0.5);
let base_size = AbsoluteLength::Pixels(px(100.0));
let rem_size = px(16.0);
assert_eq!(length_in_pixels.to_pixels(base_size, rem_size), Pixels::from(42.0));
assert_eq!(length_in_rems.to_pixels(base_size, rem_size), Pixels::from(32.0));
assert_eq!(length_as_fraction.to_pixels(base_size, rem_size), Pixels::from(50.0));Trait Implementations§
Source§impl Clone for DefiniteLength
impl Clone for DefiniteLength
Source§fn clone(&self) -> DefiniteLength
fn clone(&self) -> DefiniteLength
Returns a duplicate 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 Debug for DefiniteLength
impl Debug for DefiniteLength
Source§impl Default for DefiniteLength
impl Default for DefiniteLength
Source§impl<'de> Deserialize<'de> for DefiniteLength
impl<'de> Deserialize<'de> for DefiniteLength
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for DefiniteLength
impl Display for DefiniteLength
Source§impl From<AbsoluteLength> for DefiniteLength
impl From<AbsoluteLength> for DefiniteLength
Source§fn from(length: AbsoluteLength) -> Self
fn from(length: AbsoluteLength) -> Self
Converts to this type from the input type.
Source§impl From<DefiniteLength> for Length
impl From<DefiniteLength> for Length
Source§fn from(length: DefiniteLength) -> Self
fn from(length: DefiniteLength) -> Self
Converts to this type from the input type.
Source§impl From<Pixels> for DefiniteLength
impl From<Pixels> for DefiniteLength
Source§impl From<Rems> for DefiniteLength
impl From<Rems> for DefiniteLength
Source§impl IsZero for DefiniteLength
impl IsZero for DefiniteLength
Source§impl JsonSchema for DefiniteLength
impl JsonSchema for DefiniteLength
Source§fn json_schema(_generator: &mut SchemaGenerator) -> Schema
fn json_schema(_generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl Neg for DefiniteLength
impl Neg for DefiniteLength
Source§type Output = DefiniteLength
type Output = DefiniteLength
The resulting type after applying the
- operator.Source§fn neg(self) -> DefiniteLength
fn neg(self) -> DefiniteLength
Performs the unary
- operation. Read moreSource§impl PartialEq for DefiniteLength
impl PartialEq for DefiniteLength
Source§impl Serialize for DefiniteLength
impl Serialize for DefiniteLength
Source§impl TryFrom<&str> for DefiniteLength
impl TryFrom<&str> for DefiniteLength
impl Copy for DefiniteLength
impl StructuralPartialEq for DefiniteLength
Auto Trait Implementations§
impl Freeze for DefiniteLength
impl RefUnwindSafe for DefiniteLength
impl Send for DefiniteLength
impl Sync for DefiniteLength
impl Unpin for DefiniteLength
impl UnwindSafe for DefiniteLength
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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>
Converts
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>
Converts
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 moreSource§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>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().