Skip to main content

PaxValue

Enum PaxValue 

Source
pub enum PaxValue {
Show 14 variants Bool(bool), Numeric(Numeric), String(String), Size(Size), Percent(Percent), Color(Box<Color>), Rotation(Rotation), Duration(Duration), PathElement(Box<PathElement>), Option(Box<Option<PaxValue>>), Vec(Vec<PaxValue>), Range(Box<PaxValue>, Box<PaxValue>), Object(Vec<(String, PaxValue)>), Enum(Box<(String, String, Vec<PaxValue>)>),
}
Expand description

Runtime container for polymorphic values, for evaluating PAXEL.

Two important traits are related to this type: ToFromPaxValue - responsible for converting to and from specific types (u8, String, Color, etc) CoercionRules - responsible for coercing a PaxValue to a specific type (possibly from multiple different variants)

Variants§

§

Bool(bool)

Boolean value.

§

Numeric(Numeric)

Polymorphic numeric value.

§

String(String)

UTF-8 string value.

§

Size(Size)

Pax size value, such as 25px or 50%.

§

Percent(Percent)

Raw percent value.

§

Color(Box<Color>)

Pax color value.

§

Rotation(Rotation)

Pax rotation value.

§

Duration(Duration)

Pax animation duration value, such as 250ms, 1s, or 10f.

§

PathElement(Box<PathElement>)

Vector path element value.

§

Option(Box<Option<PaxValue>>)

Optional value.

§

Vec(Vec<PaxValue>)

Homogeneous or heterogeneous vector value.

§

Range(Box<PaxValue>, Box<PaxValue>)

Range value.

§

Object(Vec<(String, PaxValue)>)

Object value represented by named fields.

§

Enum(Box<(String, String, Vec<PaxValue>)>)

Enum value represented by type name, variant name, and payload values.

Implementations§

Source§

impl PaxValue

Source

pub fn op_and(self, rhs: PaxValue) -> PaxValue

Source

pub fn op_or(self, rhs: PaxValue) -> PaxValue

Source

pub fn op_not(self) -> PaxValue

Source

pub fn pow(self, exp: PaxValue) -> PaxValue

Source

pub fn min(self, rhs: PaxValue) -> PaxValue

Source

pub fn max(self, rhs: PaxValue) -> PaxValue

Trait Implementations§

Source§

impl Add for PaxValue

Source§

type Output = PaxValue

The resulting type after applying the + operator.
Source§

fn add(self, rhs: PaxValue) -> <PaxValue as Add>::Output

Performs the + operation. Read more
Source§

impl Clone for PaxValue

Source§

fn clone(&self) -> PaxValue

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl CoercionRules for PaxValue

Source§

fn is_identity_roundtrip() -> bool

Whether cloning Self preserves the semantics of converting that clone through ToPaxValue and back with try_coerce. Read more
Source§

fn try_coerce(value: PaxValue) -> Result<PaxValue, String>

Attempts to coerce value into Self.
Source§

fn allows_singleton_stack() -> bool

Opts appearance layers into scalar-to-singleton stack conversion. Ordinary vector values remain list-only.
Source§

impl Debug for PaxValue

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for PaxValue

Source§

fn default() -> PaxValue

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for PaxValue

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<PaxValue, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for PaxValue

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Div for PaxValue

Source§

type Output = PaxValue

The resulting type after applying the / operator.
Source§

fn div(self, rhs: PaxValue) -> <PaxValue as Div>::Output

Performs the / operation. Read more
Source§

impl HelperFunctions for PaxValue

Source§

fn register_all_functions()

Registers all helper functions for this type.
Source§

impl Interpolatable for PaxValue

Source§

fn interpolate(&self, _other: &Self, _t: f64) -> Self

Interpolates this value toward other at time t on the unit interval. Read more
Source§

impl Mul for PaxValue

Source§

type Output = PaxValue

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: PaxValue) -> <PaxValue as Mul>::Output

Performs the * operation. Read more
Source§

impl Neg for PaxValue

Source§

type Output = PaxValue

The resulting type after applying the - operator.
Source§

fn neg(self) -> <PaxValue as Neg>::Output

Performs the unary - operation. Read more
Source§

impl Not for PaxValue

Source§

type Output = PaxValue

The resulting type after applying the ! operator.
Source§

fn not(self) -> <PaxValue as Not>::Output

Performs the unary ! operation. Read more
Source§

impl PartialEq for PaxValue

Source§

fn eq(&self, other: &PaxValue) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl PartialOrd for PaxValue

Source§

fn partial_cmp(&self, rhs: &PaxValue) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Rem for PaxValue

Source§

type Output = PaxValue

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: PaxValue) -> <PaxValue as Rem>::Output

Performs the % operation. Read more
Source§

impl Serialize for PaxValue

Source§

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
Source§

impl StructuralPartialEq for PaxValue

Source§

impl Sub for PaxValue

Source§

type Output = PaxValue

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: PaxValue) -> <PaxValue as Sub>::Output

Performs the - operation. Read more
Source§

impl ToFromPaxAny for PaxValue

Source§

fn to_pax_any(self) -> PaxAny

Converts this value into a PaxAny.
Source§

fn from_pax_any(pax_any: PaxAny) -> Result<PaxValue, String>

Attempts to recover this concrete type from a PaxAny.
Source§

fn ref_from_pax_any(pax_any: &PaxAny) -> Result<&PaxValue, String>

Attempts to borrow this concrete type from a PaxAny.
Source§

fn mut_from_pax_any(pax_any: &mut PaxAny) -> Result<&mut PaxValue, String>

Attempts to mutably borrow this concrete type from a PaxAny.
Source§

impl ToPaxValue for PaxValue

Source§

fn to_pax_value(self) -> PaxValue

Converts this value into a PaxValue.
Source§

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) -> PaxValue
where 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§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, Rhs, Output> NumOps<Rhs, Output> for T
where T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,

Source§

impl<T> PropertyValue for T
where T: Default + Clone + Interpolatable + 'static,

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> RoundFrom<T> for T

Source§

fn round_from(x: T) -> T

Performs the conversion.
Source§

impl<T, U> RoundInto<U> for T
where U: RoundFrom<T>,

Source§

fn round_into(self) -> U

Performs the conversion.
Source§

impl<T> SharedPropertyValue for T
where T: PropertyValue + Send + Sync,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,