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
Matrix(Matrix<Number>)
Represents a 2D 2x3 matrix.
PrefixedMatrix(Matrix<Number, LoPoNumber>)
Represents a 3D 4x4 matrix with percentage and length values.
For moz-transform
.
Matrix3D(Matrix3D<Number>)
Represents a 3D 4x4 matrix.
PrefixedMatrix3D(Matrix3D<Number, LoPoNumber, LengthOrNumber>)
Represents a 3D 4x4 matrix with percentage and length values.
For moz-transform
.
Skew(Angle, Option<Angle>)
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)
skewX(angle)
SkewY(Angle)
skewY(angle)
Translate(LengthOrPercentage, Option<LengthOrPercentage>)
translate(x, y) or translate(x)
TranslateX(LengthOrPercentage)
translateX(x)
TranslateY(LengthOrPercentage)
translateY(y)
TranslateZ(Length)
translateZ(z)
Translate3D(LengthOrPercentage, LengthOrPercentage, Length)
translate3d(x, y, z)
Scale(Number, Option<Number>)
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(Number)
scaleX(factor)
ScaleY(Number)
scaleY(factor)
ScaleZ(Number)
scaleZ(factor)
Scale3D(Number, Number, Number)
scale3D(factorX, factorY, factorZ)
Rotate(Angle)
Describes a 2D Rotation.
In a 3D scene rotate(angle)
is equivalent to rotateZ(angle)
.
RotateX(Angle)
Rotation in 3D space around the x-axis.
RotateY(Angle)
Rotation in 3D space around the y-axis.
RotateZ(Angle)
Rotation in 3D space around the z-axis.
Rotate3D(Number, Number, Number, Angle)
Rotation in 3D space.
Generalization of rotateX, rotateY and rotateZ.
Perspective(Length)
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.
InterpolateMatrix
A intermediate type for interpolation of mismatched transform lists.
Fields of 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
A intermediate type for accumulation of mismatched transform lists.
Fields of 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 |
Methods
impl<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber> TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>
[src]
pub fn is_translate(&self) -> bool
[src]
Check if it is any translate function
pub fn is_scale(&self) -> bool
[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]
fn clone(
&self
) -> TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>
[src]
&self
) -> TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
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]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[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]
Angle: MallocSizeOf,
Number: MallocSizeOf,
Length: MallocSizeOf,
Integer: MallocSizeOf,
LengthOrNumber: MallocSizeOf,
LengthOrPercentage: MallocSizeOf,
LoPoNumber: MallocSizeOf,
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
[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]
fn eq(
&self,
__arg_0: &TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>
) -> bool
[src]
&self,
__arg_0: &TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>
) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(
&self,
__arg_0: &TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>
) -> bool
[src]
&self,
__arg_0: &TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>
) -> bool
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]
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,
type ComputedValue = TransformOperation<<Angle as ToComputedValue>::ComputedValue, <Number as ToComputedValue>::ComputedValue, <Length as ToComputedValue>::ComputedValue, <Integer as ToComputedValue>::ComputedValue, <LengthOrNumber as ToComputedValue>::ComputedValue, <LengthOrPercentage as ToComputedValue>::ComputedValue, <LoPoNumber as ToComputedValue>::ComputedValue>
The computed value type we're going to be converted to.
fn to_computed_value(&self, context: &Context) -> Self::ComputedValue
[src]
Convert a specified value to a computed value, using itself and the data inside the Context
. Read more
fn from_computed_value(computed: &Self::ComputedValue) -> Self
[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]
Angle: Copy + AsRef<Angle>,
Number: Copy + Into<f32> + Into<f64>,
Length: ToAbsoluteLength,
LoP: ToAbsoluteLength,
fn is_3d(&self) -> bool
[src]
Check if it is a 3d transform function.
fn to_3d_matrix(
&self,
reference_box: Option<&Rect<Au>>
) -> Result<Transform3D<f64>, ()>
[src]
&self,
reference_box: Option<&Rect<Au>>
) -> Result<Transform3D<f64>, ()>
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.