#[allow(missing_docs)]
#[derive(Debug, Clone)]
pub enum CssRule
{
Namespace(NamespaceAtRule),
Import(ImportAtRule),
Style(StyleRule),
Media(MediaAtRule),
FontFace(FontFaceAtRule),
FontFeatureValues(FontFeatureValuesAtRule),
CounterStyle(CounterStyleAtRule),
Viewport(ViewportAtRule),
Keyframes(KeyframesAtRule),
Supports(SupportsAtRule),
Page(PageAtRule),
Document(DocumentAtRule),
}
impl ToCss for CssRule
{
fn to_css<W: fmt::Write>(&self, dest: &mut W) -> fmt::Result
{
use self::CssRule::*;
match *self
{
Namespace(ref rule) => rule.to_css(dest),
Import(ref rule) => rule.to_css(dest),
Style(ref rule) => rule.to_css(dest),
FontFace(ref rule) => rule.to_css(dest),
FontFeatureValues(ref rule) => rule.to_css(dest),
CounterStyle(ref rule) => rule.to_css(dest),
Viewport(ref rule) => rule.to_css(dest),
Keyframes(ref rule) => rule.to_css(dest),
Media(ref rule) => rule.to_css(dest),
Supports(ref rule) => rule.to_css(dest),
Page(ref rule) => rule.to_css(dest),
Document(ref rule) => rule.to_css(dest),
}
}
}
impl CssRule
{
pub fn rule_type(&self) -> CssRuleType
{
use self::CssRule::*;
match *self
{
Style(_) => CssRuleType::Style,
Import(_) => CssRuleType::Import,
Media(_) => CssRuleType::Media,
FontFace(_) => CssRuleType::FontFace,
FontFeatureValues(_) => CssRuleType::FontFeatureValues,
CounterStyle(_) => CssRuleType::CounterStyle,
Keyframes(_) => CssRuleType::Keyframes,
Namespace(_) => CssRuleType::Namespace,
Viewport(_) => CssRuleType::Viewport,
Supports(_) => CssRuleType::Supports,
Page(_) => CssRuleType::Page,
Document(_) => CssRuleType::Document,
}
}
}