pub enum UnitValue {
Unitless(Numeric),
Percent(Numeric),
}Expand description
A scalar value in a normalized unit domain.
UnitValue accepts both unitless numbers and percents. It is useful for
properties whose authoring domain is “part of a whole”, such as path drawing
progress where 0.5 and 50% describe the same position.
Variants§
Unitless(Numeric)
Unitless normalized value, where 0.5 means halfway through the domain.
Percent(Numeric)
Percent value, where 50% means halfway through the domain.
Implementations§
Source§impl UnitValue
impl UnitValue
Sourcepub fn to_unit_float(&self) -> f64
pub fn to_unit_float(&self) -> f64
Returns the wrapped value as a normalized unitless float.
UnitValue::Unitless(0.5) returns 0.5, and
UnitValue::Percent(50) returns 0.5.
Sourcepub fn to_clamped_unit_float(&self) -> f64
pub fn to_clamped_unit_float(&self) -> f64
Returns to_unit_float() clamped into the closed unit interval.
Trait Implementations§
Source§impl CoercionRules for UnitValue
impl CoercionRules for UnitValue
Source§fn try_coerce(value: PaxValue) -> Result<UnitValue, String>
fn try_coerce(value: PaxValue) -> Result<UnitValue, String>
Attempts to coerce
value into Self.Source§fn allows_singleton_stack() -> bool
fn allows_singleton_stack() -> bool
Opts appearance layers into scalar-to-singleton stack conversion.
Ordinary vector values remain list-only.
Source§fn is_identity_roundtrip() -> bool
fn is_identity_roundtrip() -> bool
Whether cloning
Self preserves the semantics of converting that clone
through ToPaxValue and back with try_coerce. Read moreimpl Copy for UnitValue
Source§impl<'de> Deserialize<'de> for UnitValue
impl<'de> Deserialize<'de> for UnitValue
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<UnitValue, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<UnitValue, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl HelperFunctions for UnitValue
impl HelperFunctions for UnitValue
Source§fn register_all_functions()
fn register_all_functions()
Registers all helper functions for this type.
Source§impl Interpolatable for UnitValue
impl Interpolatable for UnitValue
Source§impl Serialize for UnitValue
impl Serialize for UnitValue
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,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for UnitValue
Source§impl ToPaxValue for UnitValue
impl ToPaxValue for UnitValue
Source§fn to_pax_value(self) -> PaxValue
fn to_pax_value(self) -> PaxValue
Converts this value into a
PaxValue.Source§fn nested_properties(&self) -> Vec<UntypedProperty>
fn nested_properties(&self) -> Vec<UntypedProperty>
Live properties read when snapshotting a compound value for PAXEL.
Adapters observe these as well as the containing property.
Source§fn to_pax_value_in_graph(self) -> PaxValuewhere
Self: Sized,
fn to_pax_value_in_graph(self) -> PaxValuewhere
Self: Sized,
Converts against owner-thread graph views, including nested generated
property fields. Requires an entered property graph for shared fields.
Ordinary
Self::to_pax_value reads published value snapshots.Auto Trait Implementations§
impl Freeze for UnitValue
impl RefUnwindSafe for UnitValue
impl Send for UnitValue
impl Sync for UnitValue
impl Unpin for UnitValue
impl UnsafeUnpin for UnitValue
impl UnwindSafe for UnitValue
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> PropertyValue for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T, U> RoundInto<U> for Twhere
U: RoundFrom<T>,
impl<T, U> RoundInto<U> for Twhere
U: RoundFrom<T>,
Source§fn round_into(self) -> U
fn round_into(self) -> U
Performs the conversion.