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