Change AnimatedValue for GreaterThanOrEqualToOneNumber to CSSFloat

This commit is contained in:
Anthony Ramine 2018-02-12 23:35:18 +01:00
parent f89ebf7fe9
commit 056abcbf5f
4 changed files with 19 additions and 21 deletions

View file

@ -15,7 +15,6 @@ use values::computed::Angle as ComputedAngle;
use values::computed::BorderCornerRadius as ComputedBorderCornerRadius; use values::computed::BorderCornerRadius as ComputedBorderCornerRadius;
#[cfg(feature = "servo")] #[cfg(feature = "servo")]
use values::computed::ComputedUrl; use values::computed::ComputedUrl;
use values::computed::GreaterThanOrEqualToOneNumber as ComputedGreaterThanOrEqualToOneNumber;
use values::computed::MaxLength as ComputedMaxLength; use values::computed::MaxLength as ComputedMaxLength;
use values::computed::MozLength as ComputedMozLength; use values::computed::MozLength as ComputedMozLength;
use values::computed::NonNegativeLength as ComputedNonNegativeLength; use values::computed::NonNegativeLength as ComputedNonNegativeLength;
@ -262,20 +261,6 @@ trivial_to_animated_value!(ComputedUrl);
trivial_to_animated_value!(bool); trivial_to_animated_value!(bool);
trivial_to_animated_value!(f32); trivial_to_animated_value!(f32);
impl ToAnimatedValue for ComputedGreaterThanOrEqualToOneNumber {
type AnimatedValue = Self;
#[inline]
fn to_animated_value(self) -> Self {
self
}
#[inline]
fn from_animated_value(animated: Self::AnimatedValue) -> Self {
animated.0.max(1.).into()
}
}
impl ToAnimatedValue for ComputedNonNegativeLength { impl ToAnimatedValue for ComputedNonNegativeLength {
type AnimatedValue = Self; type AnimatedValue = Self;

View file

@ -460,6 +460,20 @@ impl From<NonNegativeNumber> for CSSFloat {
/// A wrapper of Number, but the value >= 1. /// A wrapper of Number, but the value >= 1.
pub type GreaterThanOrEqualToOneNumber = GreaterThanOrEqualToOne<CSSFloat>; pub type GreaterThanOrEqualToOneNumber = GreaterThanOrEqualToOne<CSSFloat>;
impl ToAnimatedValue for GreaterThanOrEqualToOneNumber {
type AnimatedValue = CSSFloat;
#[inline]
fn to_animated_value(self) -> Self::AnimatedValue {
self.0
}
#[inline]
fn from_animated_value(animated: Self::AnimatedValue) -> Self {
animated.max(1.).into()
}
}
impl From<CSSFloat> for GreaterThanOrEqualToOneNumber { impl From<CSSFloat> for GreaterThanOrEqualToOneNumber {
#[inline] #[inline]
fn from(number: CSSFloat) -> GreaterThanOrEqualToOneNumber { fn from(number: CSSFloat) -> GreaterThanOrEqualToOneNumber {

View file

@ -9,7 +9,6 @@ use properties::StyleBuilder;
use std::fmt::{self, Write}; use std::fmt::{self, Write};
use style_traits::{CssWriter, ToCss}; use style_traits::{CssWriter, ToCss};
use values::{CSSInteger, CSSFloat}; use values::{CSSInteger, CSSFloat};
use values::animated::ToAnimatedZero;
use values::computed::{NonNegativeLength, NonNegativeNumber}; use values::computed::{NonNegativeLength, NonNegativeNumber};
use values::computed::length::{Length, LengthOrPercentage}; use values::computed::length::{Length, LengthOrPercentage};
use values::generics::text::InitialLetter as GenericInitialLetter; use values::generics::text::InitialLetter as GenericInitialLetter;
@ -31,11 +30,6 @@ pub type WordSpacing = Spacing<LengthOrPercentage>;
/// A computed value for the `line-height` property. /// A computed value for the `line-height` property.
pub type LineHeight = GenericLineHeight<NonNegativeNumber, NonNegativeLength>; pub type LineHeight = GenericLineHeight<NonNegativeNumber, NonNegativeLength>;
impl ToAnimatedZero for LineHeight {
#[inline]
fn to_animated_zero(&self) -> Result<Self, ()> { Err(()) }
}
#[derive(Clone, Debug, MallocSizeOf, PartialEq)] #[derive(Clone, Debug, MallocSizeOf, PartialEq)]
/// text-overflow. /// text-overflow.
/// When the specified value only has one side, that's the "second" /// When the specified value only has one side, that's the "second"

View file

@ -121,6 +121,11 @@ pub enum LineHeight<Number, LengthOrPercentage> {
Length(LengthOrPercentage), Length(LengthOrPercentage),
} }
impl<N, L> ToAnimatedZero for LineHeight<N, L> {
#[inline]
fn to_animated_zero(&self) -> Result<Self, ()> { Err(()) }
}
impl<N, L> LineHeight<N, L> { impl<N, L> LineHeight<N, L> {
/// Returns `normal`. /// Returns `normal`.
#[inline] #[inline]