Skip to main content

css_ast/types/
geometry_box.rs

1use super::prelude::*;
2use crate::ShapeBox;
3
4/// <https://www.w3.org/TR/css-masking-1/#typedef-geometry-box>
5///
6/// ```text,ignore
7/// <geometry-box> = <shape-box> | fill-box | stroke-box | view-box
8/// ```
9#[derive(Parse, Peek, SemanticEq, ToCursors, ToSpan, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
10#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
11#[cfg_attr(feature = "visitable", derive(csskit_derives::Visitable), visit(self))]
12#[derive(csskit_derives::NodeWithMetadata)]
13pub enum GeometryBox {
14	ShapeBox(ShapeBox),
15	#[atom(CssAtomSet::FillBox)]
16	FillBox(T![Ident]),
17	#[atom(CssAtomSet::StrokeBox)]
18	StrokeBox(T![Ident]),
19	#[atom(CssAtomSet::ViewBox)]
20	ViewBox(T![Ident]),
21}