mirror of
https://github.com/servo/servo.git
synced 2025-07-23 15:23:42 +01:00
Derive ToCss for keyword structs
This commit is contained in:
parent
b0bc1d05a9
commit
3a2e79274a
2 changed files with 3 additions and 8 deletions
|
@ -82,17 +82,11 @@ macro_rules! add_impls_for_keyword_enum {
|
||||||
|
|
||||||
macro_rules! define_keyword_type {
|
macro_rules! define_keyword_type {
|
||||||
($name: ident, $css: expr) => {
|
($name: ident, $css: expr) => {
|
||||||
#[derive(Clone, PartialEq, Copy)]
|
|
||||||
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
|
|
||||||
#[allow(missing_docs)]
|
#[allow(missing_docs)]
|
||||||
|
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
|
||||||
|
#[derive(Clone, Copy, PartialEq, ToCss)]
|
||||||
pub struct $name;
|
pub struct $name;
|
||||||
|
|
||||||
impl ::style_traits::ToCss for $name {
|
|
||||||
fn to_css<W>(&self, dest: &mut W) -> ::std::fmt::Result where W: ::std::fmt::Write {
|
|
||||||
write!(dest, $css)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl $crate::properties::animated_properties::Animatable for $name {
|
impl $crate::properties::animated_properties::Animatable for $name {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn add_weighted(&self, _other: &Self, _self_progress: f64, _other_progress: f64)
|
fn add_weighted(&self, _other: &Self, _self_progress: f64, _other_progress: f64)
|
||||||
|
|
|
@ -142,6 +142,7 @@ fn where_predicate(ty: syn::Ty) -> syn::WherePredicate {
|
||||||
/// If the first Camel segment is "Moz"" or "Webkit", the result string
|
/// If the first Camel segment is "Moz"" or "Webkit", the result string
|
||||||
/// is prepended with "-".
|
/// is prepended with "-".
|
||||||
fn to_css_identifier(mut camel_case: &str) -> String {
|
fn to_css_identifier(mut camel_case: &str) -> String {
|
||||||
|
camel_case = camel_case.trim_right_matches('_');
|
||||||
let mut first = true;
|
let mut first = true;
|
||||||
let mut result = String::with_capacity(camel_case.len());
|
let mut result = String::with_capacity(camel_case.len());
|
||||||
while let Some(segment) = split_camel_segment(&mut camel_case) {
|
while let Some(segment) = split_camel_segment(&mut camel_case) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue