Skip to main content

css_ast/values/svg_painting/
mod.rs

1// AUTO-GENERATED - Do not edit this file directly.
2#![allow(warnings)]
3//! https://w3c.github.io/svgwg/svg2-draft/painting.html
4
5mod impls;
6use super::prelude::*;
7use impls::*;
8/// Represents the style value for `color-interpolation` as defined in [SVG 2 Painting](https://w3c.github.io/svgwg/svg2-draft/painting.html#color-interpolation).
9///
10/// The SVG image format, represented by the <svg> element, creates two-dimensional vector graphics with declarative or scripted interaction and animation.
11///
12/// The grammar is defined as:
13///
14/// ```text,ignore
15/// auto | sRGB | linearRGB
16/// ```
17///
18/// https://w3c.github.io/svgwg/svg2-draft/painting.html#color-interpolation
19#[syntax(" auto | sRGB | linearRGB ")]
20#[derive(
21	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
22)]
23#[declaration_metadata(
24    initial = "sRGB",
25    inherits,
26    applies_to = Elements,
27    animation_type = Discrete,
28    property_group = SvgPainting,
29)]
30#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
31#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.color-interpolation"))]
32#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
33#[derive(csskit_derives::NodeWithMetadata)]
34pub enum ColorInterpolationStyleValue<'a> {}
35
36/// Represents the style value for `marker` as defined in [SVG 2 Painting](https://w3c.github.io/svgwg/svg2-draft/painting.html#marker).
37///
38/// The SVG image format, represented by the <svg> element, creates two-dimensional vector graphics with declarative or scripted interaction and animation.
39///
40/// The grammar is defined as:
41///
42/// ```text,ignore
43/// none | <url>
44/// ```
45///
46/// https://w3c.github.io/svgwg/svg2-draft/painting.html#marker
47#[syntax(" none | <url> ")]
48#[derive(
49	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
50)]
51#[declaration_metadata(
52    initial = "none",
53    inherits,
54    applies_to = Unknown,
55    animation_type = Discrete,
56    longhands = MarkerStart|MarkerMid|MarkerEnd,
57    property_group = SvgPainting,
58)]
59#[declaration_writes(same)]
60#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
61#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.marker"))]
62#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
63#[derive(csskit_derives::NodeWithMetadata)]
64pub struct MarkerStyleValue<'a>;
65
66/// Represents the style value for `marker-end` as defined in [SVG 2 Painting](https://w3c.github.io/svgwg/svg2-draft/painting.html#marker-end).
67///
68/// The SVG image format, represented by the <svg> element, creates two-dimensional vector graphics with declarative or scripted interaction and animation.
69///
70/// The grammar is defined as:
71///
72/// ```text,ignore
73/// none | <url>
74/// ```
75///
76/// https://w3c.github.io/svgwg/svg2-draft/painting.html#marker-end
77#[syntax(" none | <url> ")]
78#[derive(
79	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
80)]
81#[declaration_metadata(
82    initial = "none",
83    inherits,
84    applies_to = Unknown,
85    animation_type = Discrete,
86    shorthands = Marker,
87    property_group = SvgPainting,
88)]
89#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
90#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.marker-end"))]
91#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
92#[derive(csskit_derives::NodeWithMetadata)]
93pub struct MarkerEndStyleValue<'a>;
94
95/// Represents the style value for `marker-mid` as defined in [SVG 2 Painting](https://w3c.github.io/svgwg/svg2-draft/painting.html#marker-mid).
96///
97/// The SVG image format, represented by the <svg> element, creates two-dimensional vector graphics with declarative or scripted interaction and animation.
98///
99/// The grammar is defined as:
100///
101/// ```text,ignore
102/// none | <url>
103/// ```
104///
105/// https://w3c.github.io/svgwg/svg2-draft/painting.html#marker-mid
106#[syntax(" none | <url> ")]
107#[derive(
108	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
109)]
110#[declaration_metadata(
111    initial = "none",
112    inherits,
113    applies_to = Unknown,
114    animation_type = Discrete,
115    shorthands = Marker,
116    property_group = SvgPainting,
117)]
118#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
119#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.marker-mid"))]
120#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
121#[derive(csskit_derives::NodeWithMetadata)]
122pub struct MarkerMidStyleValue<'a>;
123
124/// Represents the style value for `marker-start` as defined in [SVG 2 Painting](https://w3c.github.io/svgwg/svg2-draft/painting.html#marker-start).
125///
126/// The SVG image format, represented by the <svg> element, creates two-dimensional vector graphics with declarative or scripted interaction and animation.
127///
128/// The grammar is defined as:
129///
130/// ```text,ignore
131/// none | <url>
132/// ```
133///
134/// https://w3c.github.io/svgwg/svg2-draft/painting.html#marker-start
135#[syntax(" none | <url> ")]
136#[derive(
137	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
138)]
139#[declaration_metadata(
140    initial = "none",
141    inherits,
142    applies_to = Unknown,
143    animation_type = Discrete,
144    shorthands = Marker,
145    property_group = SvgPainting,
146)]
147#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
148#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.marker-start"))]
149#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
150#[derive(csskit_derives::NodeWithMetadata)]
151pub struct MarkerStartStyleValue<'a>;
152
153/// Represents the style value for `paint-order` as defined in [SVG 2 Painting](https://w3c.github.io/svgwg/svg2-draft/painting.html#paint-order).
154///
155/// The paint-order CSS property sets the z-order of strokes, fills, and (in SVG content) markers. For example, paint-order: markers stroke fill; draws the markers, then stroke on top of markers, then fill on top of both markers and stroke.
156///
157/// The grammar is defined as:
158///
159/// ```text,ignore
160/// normal | [ fill || stroke || markers ]
161/// ```
162///
163/// https://w3c.github.io/svgwg/svg2-draft/painting.html#paint-order
164#[syntax(" normal | [ fill || stroke || markers ] ")]
165#[derive(
166	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
167)]
168#[declaration_metadata(
169    initial = "normal",
170    inherits,
171    applies_to = Unknown,
172    animation_type = Discrete,
173    property_group = SvgPainting,
174)]
175#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
176#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.paint-order"))]
177#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
178#[derive(csskit_derives::NodeWithMetadata)]
179pub struct PaintOrderStyleValue<'a>;
180
181/// Represents the style value for `shape-rendering` as defined in [SVG 2 Painting](https://w3c.github.io/svgwg/svg2-draft/painting.html#shape-rendering).
182///
183/// The SVG image format, represented by the <svg> element, creates two-dimensional vector graphics with declarative or scripted interaction and animation.
184///
185/// The grammar is defined as:
186///
187/// ```text,ignore
188/// auto | optimizeSpeed | crispEdges | geometricPrecision
189/// ```
190///
191/// https://w3c.github.io/svgwg/svg2-draft/painting.html#shape-rendering
192#[syntax(" auto | optimizeSpeed | crispEdges | geometricPrecision ")]
193#[derive(
194	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
195)]
196#[declaration_metadata(
197    initial = "auto",
198    inherits,
199    applies_to = Unknown,
200    animation_type = Discrete,
201    property_group = SvgPainting,
202)]
203#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
204#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.shape-rendering"))]
205#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
206#[derive(csskit_derives::NodeWithMetadata)]
207pub enum ShapeRenderingStyleValue<'a> {}
208
209/// Represents the style value for `text-rendering` as defined in [SVG 2 Painting](https://w3c.github.io/svgwg/svg2-draft/painting.html#text-rendering).
210///
211/// The SVG image format, represented by the <svg> element, creates two-dimensional vector graphics with declarative or scripted interaction and animation.
212///
213/// The grammar is defined as:
214///
215/// ```text,ignore
216/// auto | optimizeSpeed | optimizeLegibility | geometricPrecision
217/// ```
218///
219/// https://w3c.github.io/svgwg/svg2-draft/painting.html#text-rendering
220#[syntax(" auto | optimizeSpeed | optimizeLegibility | geometricPrecision ")]
221#[derive(
222	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
223)]
224#[declaration_metadata(
225    initial = "auto",
226    inherits,
227    applies_to = Unknown,
228    animation_type = Discrete,
229    property_group = SvgPainting,
230)]
231#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
232#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-rendering"))]
233#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
234#[derive(csskit_derives::NodeWithMetadata)]
235pub enum TextRenderingStyleValue<'a> {}