style/values/computed/
svg.rs1use crate::Zero;
8use crate::values::computed::color::Color;
9use crate::values::computed::url::ComputedUrl;
10use crate::values::computed::{LengthPercentage, NonNegativeLengthPercentage, Opacity};
11use crate::values::generics::svg as generic;
12pub use crate::values::specified::svg::{
13 ColorInterpolation, MaskComposite, MaskMode, MaskType, ShapeRendering, StrokeLinecap,
14 StrokeLinejoin, TextAnchor,
15};
16
17pub use crate::values::specified::{DProperty, MozContextProperties, SVGPaintOrder, VectorEffect};
18
19pub type SVGPaint = generic::GenericSVGPaint<Color, ComputedUrl>;
21
22pub type SVGPaintKind = generic::GenericSVGPaintKind<Color, ComputedUrl>;
24
25impl SVGPaint {
26 pub const BLACK: Self = Self {
28 kind: generic::SVGPaintKind::Color(Color::BLACK),
29 fallback: generic::SVGPaintFallback::Unset,
30 };
31}
32
33pub type SVGLength = generic::GenericSVGLength<LengthPercentage>;
35
36impl SVGLength {
37 pub fn zero() -> Self {
39 generic::SVGLength::LengthPercentage(LengthPercentage::zero())
40 }
41}
42
43pub type SVGWidth = generic::GenericSVGLength<NonNegativeLengthPercentage>;
45
46impl SVGWidth {
47 pub fn one() -> Self {
49 use crate::values::generics::NonNegative;
50 generic::SVGLength::LengthPercentage(NonNegative(LengthPercentage::one()))
51 }
52}
53
54pub type SVGStrokeDashArray = generic::GenericSVGStrokeDashArray<NonNegativeLengthPercentage>;
56
57impl Default for SVGStrokeDashArray {
58 fn default() -> Self {
59 generic::SVGStrokeDashArray::Values(Default::default())
60 }
61}
62
63pub type SVGOpacity = generic::GenericSVGOpacity<Opacity>;
65
66impl Default for SVGOpacity {
67 fn default() -> Self {
68 generic::SVGOpacity::Opacity(1.)
69 }
70}