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#[node]
10#[derive(Parse, Peek, SemanticEq, ToCursors, ToSpan, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
11#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
12#[cfg_attr(feature = "visitable", derive(csskit_derives::Visitable), visit(self))]
13#[derive(csskit_derives::NodeWithMetadata)]
14pub enum GeometryBox {
15	ShapeBox(ShapeBox),
16	#[atom(CssAtomSet::FillBox)]
17	FillBox(T![Ident]),
18	#[atom(CssAtomSet::StrokeBox)]
19	StrokeBox(T![Ident]),
20	#[atom(CssAtomSet::ViewBox)]
21	ViewBox(T![Ident]),
22}