mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
style: Make border-spacing serialization consistent, and move it to precomputed_type.
This commit is contained in:
parent
f9c06d7932
commit
2ac1327e4b
21 changed files with 200 additions and 219 deletions
|
@ -4,12 +4,15 @@
|
|||
|
||||
//! Computed types for CSS values related to borders.
|
||||
|
||||
use app_units::Au;
|
||||
use values::animated::ToAnimatedZero;
|
||||
use values::computed::{Number, NumberOrPercentage};
|
||||
use values::computed::length::LengthOrPercentage;
|
||||
use values::computed::length::{LengthOrPercentage, NonNegativeLength};
|
||||
use values::generics::border::BorderCornerRadius as GenericBorderCornerRadius;
|
||||
use values::generics::border::BorderImageSideWidth as GenericBorderImageSideWidth;
|
||||
use values::generics::border::BorderImageSlice as GenericBorderImageSlice;
|
||||
use values::generics::border::BorderRadius as GenericBorderRadius;
|
||||
use values::generics::border::BorderSpacing as GenericBorderSpacing;
|
||||
use values::generics::rect::Rect;
|
||||
use values::generics::size::Size;
|
||||
|
||||
|
@ -26,7 +29,10 @@ pub type BorderImageSlice = GenericBorderImageSlice<NumberOrPercentage>;
|
|||
pub type BorderRadius = GenericBorderRadius<LengthOrPercentage>;
|
||||
|
||||
/// A computed value for the `border-*-radius` longhand properties.
|
||||
pub type BorderCornerRadius = Size<LengthOrPercentage>;
|
||||
pub type BorderCornerRadius = GenericBorderCornerRadius<LengthOrPercentage>;
|
||||
|
||||
/// A computed value for the `border-spacing` longhand property.
|
||||
pub type BorderSpacing = GenericBorderSpacing<NonNegativeLength>;
|
||||
|
||||
impl BorderImageSideWidth {
|
||||
/// Returns `1`.
|
||||
|
@ -36,6 +42,38 @@ impl BorderImageSideWidth {
|
|||
}
|
||||
}
|
||||
|
||||
impl BorderSpacing {
|
||||
/// Returns `0 0`.
|
||||
pub fn zero() -> Self {
|
||||
GenericBorderSpacing(Size::new(NonNegativeLength::zero(), NonNegativeLength::zero()))
|
||||
}
|
||||
|
||||
/// Returns the horizontal spacing.
|
||||
pub fn horizontal(&self) -> Au {
|
||||
Au::from(*self.0.width())
|
||||
}
|
||||
|
||||
/// Returns the vertical spacing.
|
||||
pub fn vertical(&self) -> Au {
|
||||
Au::from(*self.0.height())
|
||||
}
|
||||
}
|
||||
|
||||
impl BorderCornerRadius {
|
||||
/// Returns `0 0`.
|
||||
pub fn zero() -> Self {
|
||||
GenericBorderCornerRadius(Size::new(LengthOrPercentage::zero(), LengthOrPercentage::zero()))
|
||||
}
|
||||
}
|
||||
|
||||
impl ToAnimatedZero for BorderSpacing {
|
||||
#[inline]
|
||||
fn to_animated_zero(&self) -> Result<Self, ()> {
|
||||
// FIXME(emilio): Why?
|
||||
Err(())
|
||||
}
|
||||
}
|
||||
|
||||
impl ToAnimatedZero for BorderCornerRadius {
|
||||
#[inline]
|
||||
fn to_animated_zero(&self) -> Result<Self, ()> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue