Coverage Report

Created: 2025-07-01 06:50

/rust/registry/src/index.crates.io-6f17d22bba15001f/rgb-0.8.50/src/inherent_impls.rs
Line
Count
Source (jump to first uncovered line)
1
use crate::{Abgr, Argb, Bgr, Bgra, Grb, Rgb, Rgba};
2
use crate::formats::gray_a::GrayA;
3
use crate::formats::gray::Gray_v08;
4
#[cfg(feature = "unstable-experimental")]
5
use crate::formats::gray::Gray_v09;
6
use crate::formats::gray_alpha::GrayAlpha_v08;
7
8
macro_rules! inherent_impls {
9
    ($name:ident, $new_fn:ident, [$($field:tt $var:ident),*]) => {
10
        impl<T: Copy> $name<T> {
11
            #[doc=concat!("Creates a new [`", stringify!($name), "`] pixel type from its components.")]
12
            ///
13
            /// Alternatively, you can use struct literal syntax to
14
            /// create the new pixel type:
15
            ///```not_rust
16
            #[doc=concat!("use rgb::", stringify!($name), ";")]
17
            ///
18
            #[doc=concat!("let pixel = ", stringify!($name), " {", stringify!($($field: $var),*), "};")]
19
            ///```
20
0
            pub const fn $new_fn($($var: T),*) -> Self {
21
0
                Self {$($field: $var),*}
22
0
            }
Unexecuted instantiation: <rgb::formats::rgba::Rgba<u8>>::new
Unexecuted instantiation: <rgb::formats::rgb::Rgb<u32>>::new
Unexecuted instantiation: <rgb::formats::rgb::Rgb<u64>>::new
23
        }
24
    }
25
}
26
27
inherent_impls!(Rgb, new, [r red, g green, b blue]);
28
inherent_impls!(Bgr, new_bgr, [b blue, g green, r red]);
29
inherent_impls!(Grb, new_grb, [g green, r red, b blue]);
30
31
inherent_impls!(Gray_v08, new, [0 value]);
32
#[cfg(feature = "unstable-experimental")]
33
inherent_impls!(Gray_v09, new, [v value]);
34
35
inherent_impls!(Rgba, new, [r red, g green, b blue, a alpha]);
36
inherent_impls!(Argb, new_argb, [a alpha, r red, g green, b blue]);
37
inherent_impls!(Bgra, new_bgra, [b blue, g green, r red, a alpha]);
38
inherent_impls!(Abgr, new_abgr, [a alpha, b blue, g green, r red]);
39
inherent_impls!(GrayA, new, [v value, a alpha]);
40
41
inherent_impls!(GrayAlpha_v08, new, [0 value, 1 alpha]);