mirror of
https://github.com/servo/servo.git
synced 2025-10-04 02:29:12 +01:00
Animate many more CSS properties
This commit is contained in:
parent
045831748e
commit
d843526cb8
5 changed files with 673 additions and 65 deletions
|
@ -385,7 +385,7 @@ pub mod longhands {
|
|||
use cssparser::ToCss;
|
||||
use text_writer::{self, TextWriter};
|
||||
|
||||
#[derive(PartialEq, Clone, Eq, Copy)]
|
||||
#[derive(PartialEq, Clone, Eq, Copy, Debug)]
|
||||
pub enum T {
|
||||
Auto,
|
||||
Number(i32),
|
||||
|
@ -1195,7 +1195,7 @@ pub mod longhands {
|
|||
pub mod computed_value {
|
||||
use values::computed::LengthOrPercentage;
|
||||
|
||||
#[derive(PartialEq, Copy, Clone)]
|
||||
#[derive(PartialEq, Copy, Clone, Debug)]
|
||||
pub struct T {
|
||||
pub horizontal: LengthOrPercentage,
|
||||
pub vertical: LengthOrPercentage,
|
||||
|
@ -1597,7 +1597,7 @@ pub mod longhands {
|
|||
}
|
||||
pub mod computed_value {
|
||||
use std::fmt;
|
||||
#[derive(PartialEq, Eq, Copy, Clone, Hash)]
|
||||
#[derive(PartialEq, Eq, Copy, Clone, Hash, FromPrimitive)]
|
||||
pub enum T {
|
||||
% for weight in range(100, 901, 100):
|
||||
Weight${weight} = ${weight},
|
||||
|
@ -3663,27 +3663,147 @@ pub mod longhands {
|
|||
#[derive(Copy, Clone, Debug, PartialEq)]
|
||||
pub enum TransitionProperty {
|
||||
All,
|
||||
Top,
|
||||
Right,
|
||||
BackgroundColor,
|
||||
BackgroundPosition,
|
||||
BorderBottomColor,
|
||||
BorderBottomWidth,
|
||||
BorderLeftColor,
|
||||
BorderLeftWidth,
|
||||
BorderRightColor,
|
||||
BorderRightWidth,
|
||||
BorderSpacing,
|
||||
BorderTopColor,
|
||||
BorderTopWidth,
|
||||
Bottom,
|
||||
Color,
|
||||
Clip,
|
||||
FontSize,
|
||||
FontWeight,
|
||||
Height,
|
||||
Left,
|
||||
LetterSpacing,
|
||||
LineHeight,
|
||||
MarginBottom,
|
||||
MarginLeft,
|
||||
MarginRight,
|
||||
MarginTop,
|
||||
MaxHeight,
|
||||
MaxWidth,
|
||||
MinHeight,
|
||||
MinWidth,
|
||||
Opacity,
|
||||
OutlineColor,
|
||||
OutlineWidth,
|
||||
PaddingBottom,
|
||||
PaddingLeft,
|
||||
PaddingRight,
|
||||
PaddingTop,
|
||||
Right,
|
||||
TextIndent,
|
||||
TextShadow,
|
||||
Top,
|
||||
VerticalAlign,
|
||||
Visibility,
|
||||
Width,
|
||||
WordSpacing,
|
||||
ZIndex,
|
||||
}
|
||||
|
||||
pub static ALL_TRANSITION_PROPERTIES: [TransitionProperty; 4] = [
|
||||
TransitionProperty::Top,
|
||||
TransitionProperty::Right,
|
||||
pub static ALL_TRANSITION_PROPERTIES: [TransitionProperty; 44] = [
|
||||
TransitionProperty::BackgroundColor,
|
||||
TransitionProperty::BackgroundPosition,
|
||||
TransitionProperty::BorderBottomColor,
|
||||
TransitionProperty::BorderBottomWidth,
|
||||
TransitionProperty::BorderLeftColor,
|
||||
TransitionProperty::BorderLeftWidth,
|
||||
TransitionProperty::BorderRightColor,
|
||||
TransitionProperty::BorderRightWidth,
|
||||
TransitionProperty::BorderSpacing,
|
||||
TransitionProperty::BorderTopColor,
|
||||
TransitionProperty::BorderTopWidth,
|
||||
TransitionProperty::Bottom,
|
||||
TransitionProperty::Color,
|
||||
TransitionProperty::Clip,
|
||||
TransitionProperty::FontSize,
|
||||
TransitionProperty::FontWeight,
|
||||
TransitionProperty::Height,
|
||||
TransitionProperty::Left,
|
||||
TransitionProperty::LetterSpacing,
|
||||
TransitionProperty::LineHeight,
|
||||
TransitionProperty::MarginBottom,
|
||||
TransitionProperty::MarginLeft,
|
||||
TransitionProperty::MarginRight,
|
||||
TransitionProperty::MarginTop,
|
||||
TransitionProperty::MaxHeight,
|
||||
TransitionProperty::MaxWidth,
|
||||
TransitionProperty::MinHeight,
|
||||
TransitionProperty::MinWidth,
|
||||
TransitionProperty::Opacity,
|
||||
TransitionProperty::OutlineColor,
|
||||
TransitionProperty::OutlineWidth,
|
||||
TransitionProperty::PaddingBottom,
|
||||
TransitionProperty::PaddingLeft,
|
||||
TransitionProperty::PaddingRight,
|
||||
TransitionProperty::PaddingTop,
|
||||
TransitionProperty::Right,
|
||||
TransitionProperty::TextIndent,
|
||||
TransitionProperty::TextShadow,
|
||||
TransitionProperty::Top,
|
||||
TransitionProperty::VerticalAlign,
|
||||
TransitionProperty::Visibility,
|
||||
TransitionProperty::Width,
|
||||
TransitionProperty::WordSpacing,
|
||||
TransitionProperty::ZIndex,
|
||||
];
|
||||
|
||||
impl ToCss for TransitionProperty {
|
||||
fn to_css<W>(&self, dest: &mut W) -> text_writer::Result where W: TextWriter {
|
||||
match *self {
|
||||
TransitionProperty::All => dest.write_str("all"),
|
||||
TransitionProperty::Top => dest.write_str("top"),
|
||||
TransitionProperty::Right => dest.write_str("right"),
|
||||
TransitionProperty::BackgroundColor => dest.write_str("background-color"),
|
||||
TransitionProperty::BackgroundPosition => dest.write_str("background-position"),
|
||||
TransitionProperty::BorderBottomColor => dest.write_str("border-bottom-color"),
|
||||
TransitionProperty::BorderBottomWidth => dest.write_str("border-bottom-width"),
|
||||
TransitionProperty::BorderLeftColor => dest.write_str("border-left-color"),
|
||||
TransitionProperty::BorderLeftWidth => dest.write_str("border-left-width"),
|
||||
TransitionProperty::BorderRightColor => dest.write_str("border-right-color"),
|
||||
TransitionProperty::BorderRightWidth => dest.write_str("border-right-width"),
|
||||
TransitionProperty::BorderSpacing => dest.write_str("border-spacing"),
|
||||
TransitionProperty::BorderTopColor => dest.write_str("border-top-color"),
|
||||
TransitionProperty::BorderTopWidth => dest.write_str("border-top-width"),
|
||||
TransitionProperty::Bottom => dest.write_str("bottom"),
|
||||
TransitionProperty::Color => dest.write_str("color"),
|
||||
TransitionProperty::Clip => dest.write_str("clip"),
|
||||
TransitionProperty::FontSize => dest.write_str("font-size"),
|
||||
TransitionProperty::FontWeight => dest.write_str("font-weight"),
|
||||
TransitionProperty::Height => dest.write_str("height"),
|
||||
TransitionProperty::Left => dest.write_str("left"),
|
||||
TransitionProperty::LetterSpacing => dest.write_str("letter-spacing"),
|
||||
TransitionProperty::LineHeight => dest.write_str("line-height"),
|
||||
TransitionProperty::MarginBottom => dest.write_str("margin-bottom"),
|
||||
TransitionProperty::MarginLeft => dest.write_str("margin-left"),
|
||||
TransitionProperty::MarginRight => dest.write_str("margin-right"),
|
||||
TransitionProperty::MarginTop => dest.write_str("margin-top"),
|
||||
TransitionProperty::MaxHeight => dest.write_str("max-height"),
|
||||
TransitionProperty::MaxWidth => dest.write_str("max-width"),
|
||||
TransitionProperty::MinHeight => dest.write_str("min-height"),
|
||||
TransitionProperty::MinWidth => dest.write_str("min-width"),
|
||||
TransitionProperty::Opacity => dest.write_str("opacity"),
|
||||
TransitionProperty::OutlineColor => dest.write_str("outline-color"),
|
||||
TransitionProperty::OutlineWidth => dest.write_str("outline-width"),
|
||||
TransitionProperty::PaddingBottom => dest.write_str("padding-bottom"),
|
||||
TransitionProperty::PaddingLeft => dest.write_str("padding-left"),
|
||||
TransitionProperty::PaddingRight => dest.write_str("padding-right"),
|
||||
TransitionProperty::PaddingTop => dest.write_str("padding-top"),
|
||||
TransitionProperty::Right => dest.write_str("right"),
|
||||
TransitionProperty::TextIndent => dest.write_str("text-indent"),
|
||||
TransitionProperty::TextShadow => dest.write_str("text-shadow"),
|
||||
TransitionProperty::Top => dest.write_str("top"),
|
||||
TransitionProperty::VerticalAlign => dest.write_str("vertical-align"),
|
||||
TransitionProperty::Visibility => dest.write_str("visibility"),
|
||||
TransitionProperty::Width => dest.write_str("width"),
|
||||
TransitionProperty::WordSpacing => dest.write_str("word-spacing"),
|
||||
TransitionProperty::ZIndex => dest.write_str("z-index"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3716,10 +3836,50 @@ pub mod longhands {
|
|||
match_ignore_ascii_case! {
|
||||
try!(input.expect_ident()),
|
||||
"all" => Ok(TransitionProperty::All),
|
||||
"top" => Ok(TransitionProperty::Top),
|
||||
"right" => Ok(TransitionProperty::Right),
|
||||
"background-color" => Ok(TransitionProperty::BackgroundColor),
|
||||
"background-position" => Ok(TransitionProperty::BackgroundPosition),
|
||||
"border-bottom-color" => Ok(TransitionProperty::BorderBottomColor),
|
||||
"border-bottom-width" => Ok(TransitionProperty::BorderBottomWidth),
|
||||
"border-left-color" => Ok(TransitionProperty::BorderLeftColor),
|
||||
"border-left-width" => Ok(TransitionProperty::BorderLeftWidth),
|
||||
"border-right-color" => Ok(TransitionProperty::BorderRightColor),
|
||||
"border-right-width" => Ok(TransitionProperty::BorderRightWidth),
|
||||
"border-spacing" => Ok(TransitionProperty::BorderSpacing),
|
||||
"border-top-color" => Ok(TransitionProperty::BorderTopColor),
|
||||
"border-top-width" => Ok(TransitionProperty::BorderTopWidth),
|
||||
"bottom" => Ok(TransitionProperty::Bottom),
|
||||
"left" => Ok(TransitionProperty::Left)
|
||||
"color" => Ok(TransitionProperty::Color),
|
||||
"clip" => Ok(TransitionProperty::Clip),
|
||||
"font-size" => Ok(TransitionProperty::FontSize),
|
||||
"font-weight" => Ok(TransitionProperty::FontWeight),
|
||||
"height" => Ok(TransitionProperty::Height),
|
||||
"left" => Ok(TransitionProperty::Left),
|
||||
"letter-spacing" => Ok(TransitionProperty::LetterSpacing),
|
||||
"line-height" => Ok(TransitionProperty::LineHeight),
|
||||
"margin-bottom" => Ok(TransitionProperty::MarginBottom),
|
||||
"margin-left" => Ok(TransitionProperty::MarginLeft),
|
||||
"margin-right" => Ok(TransitionProperty::MarginRight),
|
||||
"margin-top" => Ok(TransitionProperty::MarginTop),
|
||||
"max-height" => Ok(TransitionProperty::MaxHeight),
|
||||
"max-width" => Ok(TransitionProperty::MaxWidth),
|
||||
"min-height" => Ok(TransitionProperty::MinHeight),
|
||||
"min-width" => Ok(TransitionProperty::MinWidth),
|
||||
"opacity" => Ok(TransitionProperty::Opacity),
|
||||
"outline-color" => Ok(TransitionProperty::OutlineColor),
|
||||
"outline-width" => Ok(TransitionProperty::OutlineWidth),
|
||||
"padding-bottom" => Ok(TransitionProperty::PaddingBottom),
|
||||
"padding-left" => Ok(TransitionProperty::PaddingLeft),
|
||||
"padding-right" => Ok(TransitionProperty::PaddingRight),
|
||||
"padding-top" => Ok(TransitionProperty::PaddingTop),
|
||||
"right" => Ok(TransitionProperty::Right),
|
||||
"text-indent" => Ok(TransitionProperty::TextIndent),
|
||||
"text-shadow" => Ok(TransitionProperty::TextShadow),
|
||||
"top" => Ok(TransitionProperty::Top),
|
||||
"vertical-align" => Ok(TransitionProperty::VerticalAlign),
|
||||
"visibility" => Ok(TransitionProperty::Visibility),
|
||||
"width" => Ok(TransitionProperty::Width),
|
||||
"word-spacing" => Ok(TransitionProperty::WordSpacing),
|
||||
"z-index" => Ok(TransitionProperty::ZIndex)
|
||||
_ => Err(())
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue