Enum style::values::generics::transform::TransformOperation [] [src]

pub enum TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber> {
    Matrix(Matrix<Number>),
    PrefixedMatrix(Matrix<Number, LoPoNumber>),
    Matrix3D(Matrix3D<Number>),
    PrefixedMatrix3D(Matrix3D<Number, LoPoNumber, LengthOrNumber>),
    Skew(Angle, Option<Angle>),
    SkewX(Angle),
    SkewY(Angle),
    Translate(LengthOrPercentage, Option<LengthOrPercentage>),
    TranslateX(LengthOrPercentage),
    TranslateY(LengthOrPercentage),
    TranslateZ(Length),
    Translate3D(LengthOrPercentage, LengthOrPercentage, Length),
    Scale(Number, Option<Number>),
    ScaleX(Number),
    ScaleY(Number),
    ScaleZ(Number),
    Scale3D(Number, Number, Number),
    Rotate(Angle),
    RotateX(Angle),
    RotateY(Angle),
    RotateZ(Angle),
    Rotate3D(Number, Number, Number, Angle),
    Perspective(Length),
    InterpolateMatrix {
        from_list: Transform<TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>>,
        to_list: Transform<TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>>,
        progress: Percentage,
    },
    AccumulateMatrix {
        from_list: Transform<TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>>,
        to_list: Transform<TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>>,
        count: Integer,
    },
}

A single operation in the list of a transform value

Variants

Represents a 2D 2x3 matrix.

Represents a 3D 4x4 matrix with percentage and length values. For moz-transform.

Represents a 3D 4x4 matrix.

Represents a 3D 4x4 matrix with percentage and length values. For moz-transform.

A 2D skew.

If the second angle is not provided it is assumed zero.

Syntax can be skew(angle) or skew(angle, angle)

skewX(angle)

skewY(angle)

translate(x, y) or translate(x)

translateX(x)

translateY(y)

translateZ(z)

translate3d(x, y, z)

A 2D scaling factor.

scale(2) is parsed as Scale(Number::new(2.0), None) and is equivalent to writing scale(2, 2) (Scale(Number::new(2.0), Some(Number::new(2.0)))).

Negative values are allowed and flip the element.

Syntax can be scale(factor) or scale(factor, factor)

scaleX(factor)

scaleY(factor)

scaleZ(factor)

scale3D(factorX, factorY, factorZ)

Describes a 2D Rotation.

In a 3D scene rotate(angle) is equivalent to rotateZ(angle).

Rotation in 3D space around the x-axis.

Rotation in 3D space around the y-axis.

Rotation in 3D space around the z-axis.

Rotation in 3D space.

Generalization of rotateX, rotateY and rotateZ.

Specifies a perspective projection matrix.

Part of CSS Transform Module Level 2 and defined at § 13.1. 3D Transform Function.

The value must be greater than or equal to zero.

A intermediate type for interpolation of mismatched transform lists.

Fields of InterpolateMatrix

A intermediate type for accumulation of mismatched transform lists.

Fields of AccumulateMatrix

Methods

impl<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber> TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>
[src]

[src]

Check if it is any translate function

[src]

Check if it is any scale function

Trait Implementations

impl<Angle: Clone, Number: Clone, Length: Clone, Integer: Clone, LengthOrNumber: Clone, LengthOrPercentage: Clone, LoPoNumber: Clone> Clone for TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<Angle: Debug, Number: Debug, Length: Debug, Integer: Debug, LengthOrNumber: Debug, LengthOrPercentage: Debug, LoPoNumber: Debug> Debug for TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>
[src]

[src]

Formats the value using the given formatter. Read more

impl<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber> MallocSizeOf for TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber> where
    Angle: MallocSizeOf,
    Number: MallocSizeOf,
    Length: MallocSizeOf,
    Integer: MallocSizeOf,
    LengthOrNumber: MallocSizeOf,
    LengthOrPercentage: MallocSizeOf,
    LoPoNumber: MallocSizeOf
[src]

[src]

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

impl<Angle: PartialEq, Number: PartialEq, Length: PartialEq, Integer: PartialEq, LengthOrNumber: PartialEq, LengthOrPercentage: PartialEq, LoPoNumber: PartialEq> PartialEq for TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber> ToComputedValue for TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber> where
    Matrix<Number>: ToComputedValue<ComputedValue = Matrix<<Number as ToComputedValue>::ComputedValue>>,
    Number: ToComputedValue,
    Matrix<Number, LoPoNumber>: ToComputedValue<ComputedValue = Matrix<<Number as ToComputedValue>::ComputedValue, <LoPoNumber as ToComputedValue>::ComputedValue>>,
    LoPoNumber: ToComputedValue,
    Matrix3D<Number>: ToComputedValue<ComputedValue = Matrix3D<<Number as ToComputedValue>::ComputedValue>>,
    Matrix3D<Number, LoPoNumber, LengthOrNumber>: ToComputedValue<ComputedValue = Matrix3D<<Number as ToComputedValue>::ComputedValue, <LoPoNumber as ToComputedValue>::ComputedValue, <LengthOrNumber as ToComputedValue>::ComputedValue>>,
    LengthOrNumber: ToComputedValue,
    Angle: ToComputedValue,
    Option<Angle>: ToComputedValue<ComputedValue = Option<<Angle as ToComputedValue>::ComputedValue>>,
    LengthOrPercentage: ToComputedValue,
    Option<LengthOrPercentage>: ToComputedValue<ComputedValue = Option<<LengthOrPercentage as ToComputedValue>::ComputedValue>>,
    Length: ToComputedValue,
    Option<Number>: ToComputedValue<ComputedValue = Option<<Number as ToComputedValue>::ComputedValue>>,
    Integer: ToComputedValue
[src]

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

[src]

Convert a specified value to a computed value, using itself and the data inside the Context. Read more

[src]

Convert a computed value to specified value form. Read more

impl<Angle, Number, Length, Integer, LoN, LoP, LoPoNumber> ToMatrix for TransformOperation<Angle, Number, Length, Integer, LoN, LoP, LoPoNumber> where
    Angle: Copy + AsRef<Angle>,
    Number: Copy + Into<f32> + Into<f64>,
    Length: ToAbsoluteLength,
    LoP: ToAbsoluteLength
[src]

[src]

Check if it is a 3d transform function.

[src]

If |reference_box| is None, we will drop the percent part from translate because we cannot resolve it without the layout info, for computed TransformOperation. However, for specified TransformOperation, we will return Err(()) if there is any relative lengths because the only caller, DOMMatrix, doesn't accept relative lengths.

impl<Angle: ToCss + Copy, Number: ToCss + Copy, Length: ToCss, Integer: ToCss + Copy, LengthOrNumber: ToCss, LengthOrPercentage: ToCss, LoPoNumber: ToCss> ToCss for TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>
[src]

[src]

Serialize self in CSS syntax, writing to dest.

[src]

Serialize self in CSS syntax and return a string. Read more