[][src]Struct polyhorn_android::styles::TransformBuilder

pub struct TransformBuilder<T> where
    T: Float
{ /* fields omitted */ }

Builder that can be used to efficiently create a transform consisting of multiple individual operations.

The builder optimistically compresses the sequence of operations by attempting to concatenate each operation to the previous operation, which will succeed if the previous operation does not need to be resolved (i.e. is non-relative). After compression, the builder can hold at most 8 transforms.

Implementations

impl<T> TransformBuilder<T> where
    T: Float
[src]

pub fn new() -> TransformBuilder<T> where
    T: Default
[src]

Returns a new builder that can be used to efficiently create a transform consisting of multiple individual operations.

pub fn push(
    self,
    transform: Transform<T>
) -> Result<TransformBuilder<T>, TransformBuilder<T>>
[src]

Consumes the builder and returns a new builder after adding the given transform and recompression. Returns an error if the given transform cannot be concatenated to the last transform tracked by the builder and there are no slots remaining in the builder.

pub fn len(&self) -> usize[src]

Returns the number of transforms currently tracked by the builder.

pub fn into_transforms(self) -> [Transform<T>; 8][src]

Consumes the builder and returns all of its transforms.

Trait Implementations

impl<T> Clone for TransformBuilder<T> where
    T: Clone + Float
[src]

impl<T> Copy for TransformBuilder<T> where
    T: Copy + Float
[src]

impl<T> Debug for TransformBuilder<T> where
    T: Debug + Float
[src]

impl<T> Default for TransformBuilder<T> where
    T: Default + Float
[src]

impl<T> PartialEq<TransformBuilder<T>> for TransformBuilder<T> where
    T: PartialEq<T> + Float
[src]

impl<T> StructuralPartialEq for TransformBuilder<T> where
    T: Float
[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for TransformBuilder<T> where
    T: RefUnwindSafe

impl<T> Send for TransformBuilder<T> where
    T: Send

impl<T> Sync for TransformBuilder<T> where
    T: Sync

impl<T> Unpin for TransformBuilder<T> where
    T: Unpin

impl<T> UnwindSafe for TransformBuilder<T> where
    T: UnwindSafe

Blanket Implementations

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
    D: AdaptFrom<S, Swp, Dwp, T>,
    Dwp: WhitePoint,
    Swp: WhitePoint,
    T: Component + Float
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> AsAny for T where
    T: Any
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> ConvertInto<U> for T where
    U: ConvertFrom<T>, 
[src]

impl<'a, T> Desc<'a, T> for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IsDefault for T where
    T: PartialEq<T> + Default + Copy
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.