Add more operations to animation

This commit is contained in:
Manish Goregaokar 2017-10-30 16:24:51 -07:00
parent e15695289d
commit aba00be52d
No known key found for this signature in database
GPG key ID: 3BBF4D3E2EF79F98
3 changed files with 197 additions and 6 deletions

View file

@ -247,6 +247,27 @@ pub enum TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, Leng
/// A value of the `transform` property
pub struct Transform<T>(pub Vec<T>);
impl<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber>
TransformOperation<Angle, Number, Length, Integer, LengthOrNumber, LengthOrPercentage, LoPoNumber> {
/// Check if it is any translate function
pub fn is_translate(&self) -> bool {
use self::TransformOperation::*;
match *self {
Translate(..) | Translate3D(..) | TranslateX(..) | TranslateY(..) | TranslateZ(..) => true,
_ => false
}
}
/// Check if it is any scale function
pub fn is_scale(&self) -> bool {
use self::TransformOperation::*;
match *self {
Scale(..) | Scale3D(..) | ScaleX(..) | ScaleY(..) | ScaleZ(..) => true,
_ => false
}
}
}
impl<Angle: ToCss + Copy, Number: ToCss + Copy, Length: ToCss,
Integer: ToCss + Copy, LengthOrNumber: ToCss, LengthOrPercentage: ToCss, LoPoNumber: ToCss>