fune/servo/components/style/values/generics/column.rs
Xidorn Quan 68b65ee807 Bug 1455576 part 2 - Add a ValueInfo trait for exposing types needed by devtools. r=emilio
Most of types just derive it using proc_macro directly. Some of value
types need manual impl.

In my current plan, this new trait will be used in bug 1434130 to expose
values as well.

MozReview-Commit-ID: LI7fy45VkRw

--HG--
extra : rebase_source : a765e43b0c615e5f47bddb90ba6fa24bfc06959e
extra : source : 60812c1b190d90602bc6d49477fe1f558a53cd51
2018-04-26 09:01:02 +10:00

31 lines
913 B
Rust

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
//! Generic types for the column properties.
/// A generic type for `column-count` values.
#[derive(Animate, Clone, ComputeSquaredDistance, Copy, Debug, MallocSizeOf,
PartialEq, SpecifiedValueInfo, ToAnimatedValue, ToAnimatedZero,
ToComputedValue, ToCss)]
pub enum ColumnCount<PositiveInteger> {
/// A positive integer.
Integer(PositiveInteger),
/// The keyword `auto`.
#[animation(error)]
Auto,
}
impl<I> ColumnCount<I> {
/// Returns `auto`.
#[inline]
pub fn auto() -> Self {
ColumnCount::Auto
}
/// Returns whether this value is `auto`.
#[inline]
pub fn is_auto(self) -> bool {
matches!(self, ColumnCount::Auto)
}
}