mirror of
https://github.com/servo/servo.git
synced 2025-06-23 16:44:33 +01:00
Move ToCss impl for Shadow types to values mod.
This commit is contained in:
parent
f388c0ab1e
commit
2bd1ff0450
3 changed files with 39 additions and 42 deletions
|
@ -19,56 +19,14 @@ ${helpers.predefined_type("opacity",
|
||||||
extra_prefixes="webkit"
|
extra_prefixes="webkit"
|
||||||
ignored_when_colors_disabled="True"
|
ignored_when_colors_disabled="True"
|
||||||
spec="https://drafts.csswg.org/css-backgrounds/#box-shadow">
|
spec="https://drafts.csswg.org/css-backgrounds/#box-shadow">
|
||||||
use std::fmt;
|
|
||||||
use style_traits::ToCss;
|
|
||||||
|
|
||||||
pub type SpecifiedValue = specified::Shadow;
|
pub type SpecifiedValue = specified::Shadow;
|
||||||
|
|
||||||
impl ToCss for SpecifiedValue {
|
|
||||||
fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write {
|
|
||||||
if self.inset {
|
|
||||||
try!(dest.write_str("inset "));
|
|
||||||
}
|
|
||||||
try!(self.offset_x.to_css(dest));
|
|
||||||
try!(dest.write_str(" "));
|
|
||||||
try!(self.offset_y.to_css(dest));
|
|
||||||
try!(dest.write_str(" "));
|
|
||||||
try!(self.blur_radius.to_css(dest));
|
|
||||||
try!(dest.write_str(" "));
|
|
||||||
try!(self.spread_radius.to_css(dest));
|
|
||||||
|
|
||||||
if let Some(ref color) = self.color {
|
|
||||||
try!(dest.write_str(" "));
|
|
||||||
try!(color.to_css(dest));
|
|
||||||
}
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub mod computed_value {
|
pub mod computed_value {
|
||||||
use values::computed::Shadow;
|
use values::computed::Shadow;
|
||||||
|
|
||||||
pub type T = Shadow;
|
pub type T = Shadow;
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ToCss for computed_value::T {
|
|
||||||
fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write {
|
|
||||||
if self.inset {
|
|
||||||
try!(dest.write_str("inset "));
|
|
||||||
}
|
|
||||||
try!(self.blur_radius.to_css(dest));
|
|
||||||
try!(dest.write_str(" "));
|
|
||||||
try!(self.spread_radius.to_css(dest));
|
|
||||||
try!(dest.write_str(" "));
|
|
||||||
try!(self.offset_x.to_css(dest));
|
|
||||||
try!(dest.write_str(" "));
|
|
||||||
try!(self.offset_y.to_css(dest));
|
|
||||||
try!(dest.write_str(" "));
|
|
||||||
try!(self.color.to_css(dest));
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn parse(context: &ParserContext, input: &mut Parser) -> Result<specified::Shadow, ()> {
|
pub fn parse(context: &ParserContext, input: &mut Parser) -> Result<specified::Shadow, ()> {
|
||||||
specified::Shadow::parse(context, input, false)
|
specified::Shadow::parse(context, input, false)
|
||||||
}
|
}
|
||||||
|
|
|
@ -483,6 +483,24 @@ pub struct Shadow {
|
||||||
pub inset: bool,
|
pub inset: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl ToCss for Shadow {
|
||||||
|
fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write {
|
||||||
|
if self.inset {
|
||||||
|
dest.write_str("inset ")?;
|
||||||
|
}
|
||||||
|
self.blur_radius.to_css(dest)?;
|
||||||
|
dest.write_str(" ")?;
|
||||||
|
self.spread_radius.to_css(dest)?;
|
||||||
|
dest.write_str(" ")?;
|
||||||
|
self.offset_x.to_css(dest)?;
|
||||||
|
dest.write_str(" ")?;
|
||||||
|
self.offset_y.to_css(dest)?;
|
||||||
|
dest.write_str(" ")?;
|
||||||
|
self.color.to_css(dest)?;
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// A `<number>` value.
|
/// A `<number>` value.
|
||||||
pub type Number = CSSFloat;
|
pub type Number = CSSFloat;
|
||||||
|
|
||||||
|
|
|
@ -878,6 +878,27 @@ impl ToComputedValue for Shadow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl ToCss for Shadow {
|
||||||
|
fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write {
|
||||||
|
if self.inset {
|
||||||
|
dest.write_str("inset ")?;
|
||||||
|
}
|
||||||
|
self.offset_x.to_css(dest)?;
|
||||||
|
dest.write_str(" ")?;
|
||||||
|
self.offset_y.to_css(dest)?;
|
||||||
|
dest.write_str(" ")?;
|
||||||
|
self.blur_radius.to_css(dest)?;
|
||||||
|
dest.write_str(" ")?;
|
||||||
|
self.spread_radius.to_css(dest)?;
|
||||||
|
|
||||||
|
if let Some(ref color) = self.color {
|
||||||
|
dest.write_str(" ")?;
|
||||||
|
color.to_css(dest)?;
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl Shadow {
|
impl Shadow {
|
||||||
// disable_spread_and_inset is for filter: drop-shadow(...)
|
// disable_spread_and_inset is for filter: drop-shadow(...)
|
||||||
#[allow(missing_docs)]
|
#[allow(missing_docs)]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue