#[repr(C)]pub struct Luma<S = Srgb, T = f32> {
pub luma: T,
pub standard: PhantomData<S>,
}Expand description
Luminance.
Luma is a purely gray scale color space, which is included more for
completeness than anything else, and represents how bright a color is
perceived to be. It’s basically the Y component of CIE
XYZ. The lack of any form of hue representation limits
the set of operations that can be performed on it.
Fields§
§luma: TThe lightness of the color. 0.0 is black and 1.0 is white.
standard: PhantomData<S>The kind of RGB standard. sRGB is the default.
Implementations§
Source§impl<S, T> Luma<S, T>
impl<S, T> Luma<S, T>
Sourcepub fn into_format<U>(self) -> Luma<S, U>where
U: FromStimulus<T>,
pub fn into_format<U>(self) -> Luma<S, U>where
U: FromStimulus<T>,
Convert into another component type.
Sourcepub fn from_format<U>(color: Luma<S, U>) -> Selfwhere
T: FromStimulus<U>,
pub fn from_format<U>(color: Luma<S, U>) -> Selfwhere
T: FromStimulus<U>,
Convert from another component type.
Sourcepub fn into_components(self) -> (T,)
pub fn into_components(self) -> (T,)
Convert to a (luma,) tuple.
Sourcepub fn from_components((luma): (T,)) -> Self
pub fn from_components((luma): (T,)) -> Self
Convert from a (luma,) tuple.
Source§impl<S> Luma<S, u8>
impl<S> Luma<S, u8>
Sourcepub fn into_u16<O>(self) -> u16
pub fn into_u16<O>(self) -> u16
Convert to a packed u16 with with specifiable component order.
use palette::{luma, SrgbLuma};
let integer = SrgbLuma::new(96u8).into_u16::<luma::channels::La>();
assert_eq!(0x60FF, integer);It’s also possible to use From and Into, which defaults to the
0xAALL component order:
use palette::SrgbLuma;
let integer = u16::from(SrgbLuma::new(96u8));
assert_eq!(0xFF60, integer);See Packed for more details.
Sourcepub fn from_u16<O>(color: u16) -> Self
pub fn from_u16<O>(color: u16) -> Self
Convert from a packed u16 with specifiable component order.
use palette::{luma, SrgbLuma};
let luma = SrgbLuma::from_u16::<luma::channels::La>(0x60FF);
assert_eq!(SrgbLuma::new(96u8), luma);It’s also possible to use From and Into, which defaults to the
0xAALL component order:
use palette::SrgbLuma;
let luma = SrgbLuma::from(0x60u16);
assert_eq!(SrgbLuma::new(96u8), luma);See Packed for more details.
Source§impl<S, T> Luma<S, T>where
S: LumaStandard,
impl<S, T> Luma<S, T>where
S: LumaStandard,
Sourcepub fn into_linear<U>(self) -> Luma<Linear<S::WhitePoint>, U>where
S::TransferFn: IntoLinear<U, T>,
pub fn into_linear<U>(self) -> Luma<Linear<S::WhitePoint>, U>where
S::TransferFn: IntoLinear<U, T>,
Convert the color to linear luminance.
Some transfer functions allow the component type to be converted at the
same time. This is usually offered with increased performance, compared
to using into_format.
use palette::{SrgbLuma, LinLuma};
let linear: LinLuma<_, f32> = SrgbLuma::new(96u8).into_linear();See the transfer function types in the encoding
module for details and performance characteristics.
Sourcepub fn from_linear<U>(color: Luma<Linear<S::WhitePoint>, U>) -> Luma<S, T>where
S::TransferFn: FromLinear<U, T>,
pub fn from_linear<U>(color: Luma<Linear<S::WhitePoint>, U>) -> Luma<S, T>where
S::TransferFn: FromLinear<U, T>,
Convert linear luminance to non-linear luminance.
Some transfer functions allow the component type to be converted at the
same time. This is usually offered with increased performance, compared
to using into_format.
use palette::{SrgbLuma, LinLuma};
let encoded = SrgbLuma::<u8>::from_linear(LinLuma::new(0.95f32));See the transfer function types in the encoding
module for details and performance characteristics.
Source§impl<Wp, T> Luma<Linear<Wp>, T>
impl<Wp, T> Luma<Linear<Wp>, T>
Sourcepub fn into_encoding<U, St>(self) -> Luma<St, U>
pub fn into_encoding<U, St>(self) -> Luma<St, U>
Convert a linear color to a different encoding.
Some transfer functions allow the component type to be converted at the
same time. This is usually offered with increased performance, compared
to using into_format.
use palette::{SrgbLuma, LinLuma};
let encoded: SrgbLuma<u8> = LinLuma::new(0.95f32).into_encoding();See the transfer function types in the encoding
module for details and performance characteristics.
Sourcepub fn from_encoding<U, St>(color: Luma<St, U>) -> Self
pub fn from_encoding<U, St>(color: Luma<St, U>) -> Self
Convert from linear luminance from a different encoding.
Some transfer functions allow the component type to be converted at the
same time. This is usually offered with increased performance, compared
to using into_format.
use palette::{SrgbLuma, LinLuma};
let linear = LinLuma::<_, f32>::from_encoding(SrgbLuma::new(96u8));See the transfer function types in the encoding
module for details and performance characteristics.
Source§impl<S, C> Luma<S, C>
impl<S, C> Luma<S, C>
Sourcepub fn iter<'a>(&'a self) -> <&'a Self as IntoIterator>::IntoIterwhere
&'a Self: IntoIterator,
pub fn iter<'a>(&'a self) -> <&'a Self as IntoIterator>::IntoIterwhere
&'a Self: IntoIterator,
Return an iterator over the colors in the wrapped collections.
Sourcepub fn iter_mut<'a>(&'a mut self) -> <&'a mut Self as IntoIterator>::IntoIterwhere
&'a mut Self: IntoIterator,
pub fn iter_mut<'a>(&'a mut self) -> <&'a mut Self as IntoIterator>::IntoIterwhere
&'a mut Self: IntoIterator,
Return an iterator that allows modifying the colors in the wrapped collections.
Sourcepub fn get<'a, I, T>(
&'a self,
index: I,
) -> Option<Luma<S, &<I as SliceIndex<[T]>>::Output>>
pub fn get<'a, I, T>( &'a self, index: I, ) -> Option<Luma<S, &<I as SliceIndex<[T]>>::Output>>
Get a color, or slice of colors, with references to the components at index. See slice::get for details.
Sourcepub fn get_mut<'a, I, T>(
&'a mut self,
index: I,
) -> Option<Luma<S, &mut <I as SliceIndex<[T]>>::Output>>
pub fn get_mut<'a, I, T>( &'a mut self, index: I, ) -> Option<Luma<S, &mut <I as SliceIndex<[T]>>::Output>>
Get a color, or slice of colors, that allows modifying the components at index. See slice::get_mut for details.
Source§impl<S, T> Luma<S, Vec<T>>
impl<S, T> Luma<S, Vec<T>>
Sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Create a struct of vectors with a minimum capacity. See Vec::with_capacity for details.
Sourcepub fn push(&mut self, value: Luma<S, T>)
pub fn push(&mut self, value: Luma<S, T>)
Push an additional color’s components onto the component vectors. See Vec::push for details.
Sourcepub fn pop(&mut self) -> Option<Luma<S, T>>
pub fn pop(&mut self) -> Option<Luma<S, T>>
Pop a color’s components from the component vectors. See Vec::pop for details.
Sourcepub fn clear(&mut self)
pub fn clear(&mut self)
Clear the component vectors. See Vec::clear for details.
Trait Implementations§
Source§impl<S, T> AbsDiffEq for Luma<S, T>where
T: AbsDiffEq,
impl<S, T> AbsDiffEq for Luma<S, T>where
T: AbsDiffEq,
Source§fn default_epsilon() -> Self::Epsilon
fn default_epsilon() -> Self::Epsilon
Source§fn abs_diff_eq(&self, other: &Self, epsilon: T::Epsilon) -> bool
fn abs_diff_eq(&self, other: &Self, epsilon: T::Epsilon) -> bool
Source§fn abs_diff_ne(&self, other: &Self, epsilon: T::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Self, epsilon: T::Epsilon) -> bool
AbsDiffEq::abs_diff_eq.Source§impl<S, T> AddAssign<T> for Luma<S, T>
impl<S, T> AddAssign<T> for Luma<S, T>
Source§fn add_assign(&mut self, c: T)
fn add_assign(&mut self, c: T)
+= operation. Read moreSource§impl<S, T> AddAssign for Luma<S, T>where
T: AddAssign,
impl<S, T> AddAssign for Luma<S, T>where
T: AddAssign,
Source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
+= operation. Read moreSource§impl<S, T> ClampAssign for Luma<S, T>where
T: ClampAssign + Stimulus,
impl<S, T> ClampAssign for Luma<S, T>where
T: ClampAssign + Stimulus,
Source§fn clamp_assign(&mut self)
fn clamp_assign(&mut self)
Source§impl<'de, S, T> Deserialize<'de> for Luma<S, T>where
T: Deserialize<'de>,
impl<'de, S, T> Deserialize<'de> for Luma<S, T>where
T: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<S, T> DivAssign<T> for Luma<S, T>
impl<S, T> DivAssign<T> for Luma<S, T>
Source§fn div_assign(&mut self, c: T)
fn div_assign(&mut self, c: T)
/= operation. Read moreSource§impl<S, T> DivAssign for Luma<S, T>where
T: DivAssign,
impl<S, T> DivAssign for Luma<S, T>where
T: DivAssign,
Source§fn div_assign(&mut self, other: Self)
fn div_assign(&mut self, other: Self)
/= operation. Read moreSource§impl<S, T> EuclideanDistance for Luma<S, T>
impl<S, T> EuclideanDistance for Luma<S, T>
Source§fn distance_squared(self, other: Self) -> Self::Scalar
fn distance_squared(self, other: Self) -> Self::Scalar
Source§impl<S, T, C> Extend<Luma<S, T>> for Luma<S, C>where
C: Extend<T>,
impl<S, T, C> Extend<Luma<S, T>> for Luma<S, C>where
C: Extend<T>,
Source§fn extend<I: IntoIterator<Item = Luma<S, T>>>(&mut self, iter: I)
fn extend<I: IntoIterator<Item = Luma<S, T>>>(&mut self, iter: I)
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one)Source§impl<S, T, V, const N: usize> From<Luma<S, V>> for [Luma<S, T>; N]where
Self: Default,
V: IntoScalarArray<N, Scalar = T>,
impl<S, T, V, const N: usize> From<Luma<S, V>> for [Luma<S, T>; N]where
Self: Default,
V: IntoScalarArray<N, Scalar = T>,
Source§impl<S, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Luma<S, T>where
_C: IntoColorUnclamped<Self>,
impl<S, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Luma<S, T>where
_C: IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Alpha<_C, _A>) -> Self
fn from_color_unclamped(color: Alpha<_C, _A>) -> Self
Source§impl<S, T, _S> FromColorUnclamped<Hsl<_S, T>> for Luma<S, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
impl<S, T, _S> FromColorUnclamped<Hsl<_S, T>> for Luma<S, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Hsl<_S, T>) -> Self
fn from_color_unclamped(color: Hsl<_S, T>) -> Self
Source§impl<S, T> FromColorUnclamped<Hsluv<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hsluv<<S as LumaStandard>::WhitePoint, T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Hsluv<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hsluv<<S as LumaStandard>::WhitePoint, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(
color: Hsluv<<S as LumaStandard>::WhitePoint, T>,
) -> Self
fn from_color_unclamped( color: Hsluv<<S as LumaStandard>::WhitePoint, T>, ) -> Self
Source§impl<S, T, _S> FromColorUnclamped<Hsv<_S, T>> for Luma<S, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Self>,
impl<S, T, _S> FromColorUnclamped<Hsv<_S, T>> for Luma<S, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Hsv<_S, T>) -> Self
fn from_color_unclamped(color: Hsv<_S, T>) -> Self
Source§impl<S, T, _S> FromColorUnclamped<Hwb<_S, T>> for Luma<S, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Self>,
impl<S, T, _S> FromColorUnclamped<Hwb<_S, T>> for Luma<S, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Hwb<_S, T>) -> Self
fn from_color_unclamped(color: Hwb<_S, T>) -> Self
Source§impl<S, T> FromColorUnclamped<Lab<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Lab<<S as LumaStandard>::WhitePoint, T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Lab<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Lab<<S as LumaStandard>::WhitePoint, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Lab<<S as LumaStandard>::WhitePoint, T>) -> Self
fn from_color_unclamped(color: Lab<<S as LumaStandard>::WhitePoint, T>) -> Self
Source§impl<S, T> FromColorUnclamped<Lch<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Lch<<S as LumaStandard>::WhitePoint, T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Lch<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Lch<<S as LumaStandard>::WhitePoint, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Lch<<S as LumaStandard>::WhitePoint, T>) -> Self
fn from_color_unclamped(color: Lch<<S as LumaStandard>::WhitePoint, T>) -> Self
Source§impl<S, T> FromColorUnclamped<Lchuv<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Lchuv<<S as LumaStandard>::WhitePoint, T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Lchuv<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Lchuv<<S as LumaStandard>::WhitePoint, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(
color: Lchuv<<S as LumaStandard>::WhitePoint, T>,
) -> Self
fn from_color_unclamped( color: Lchuv<<S as LumaStandard>::WhitePoint, T>, ) -> Self
Source§impl<Wp, T, S> FromColorUnclamped<Luma<S, T>> for Xyz<Wp, T>where
Self: Mul<T, Output = Self>,
Wp: WhitePoint<T>,
S: LumaStandard<WhitePoint = Wp>,
S::TransferFn: IntoLinear<T, T>,
impl<Wp, T, S> FromColorUnclamped<Luma<S, T>> for Xyz<Wp, T>where
Self: Mul<T, Output = Self>,
Wp: WhitePoint<T>,
S: LumaStandard<WhitePoint = Wp>,
S::TransferFn: IntoLinear<T, T>,
Source§fn from_color_unclamped(color: Luma<S, T>) -> Self
fn from_color_unclamped(color: Luma<S, T>) -> Self
Source§impl<T, S> FromColorUnclamped<Luma<S, T>> for Yxy<S::WhitePoint, T>
impl<T, S> FromColorUnclamped<Luma<S, T>> for Yxy<S::WhitePoint, T>
Source§fn from_color_unclamped(luma: Luma<S, T>) -> Self
fn from_color_unclamped(luma: Luma<S, T>) -> Self
Source§impl<S1, S2, T> FromColorUnclamped<Luma<S2, T>> for Luma<S1, T>where
S1: LumaStandard + 'static,
S2: LumaStandard<WhitePoint = S1::WhitePoint> + 'static,
S1::TransferFn: FromLinear<T, T>,
S2::TransferFn: IntoLinear<T, T>,
impl<S1, S2, T> FromColorUnclamped<Luma<S2, T>> for Luma<S1, T>where
S1: LumaStandard + 'static,
S2: LumaStandard<WhitePoint = S1::WhitePoint> + 'static,
S1::TransferFn: FromLinear<T, T>,
S2::TransferFn: IntoLinear<T, T>,
Source§fn from_color_unclamped(color: Luma<S2, T>) -> Self
fn from_color_unclamped(color: Luma<S2, T>) -> Self
Source§impl<S, St, T> FromColorUnclamped<Luma<St, T>> for Rgb<S, T>where
S: RgbStandard + 'static,
St: LumaStandard<WhitePoint = <S::Space as RgbSpace>::WhitePoint> + 'static,
S::TransferFn: FromLinear<T, T>,
St::TransferFn: IntoLinear<T, T>,
T: Clone,
impl<S, St, T> FromColorUnclamped<Luma<St, T>> for Rgb<S, T>where
S: RgbStandard + 'static,
St: LumaStandard<WhitePoint = <S::Space as RgbSpace>::WhitePoint> + 'static,
S::TransferFn: FromLinear<T, T>,
St::TransferFn: IntoLinear<T, T>,
T: Clone,
Source§fn from_color_unclamped(color: Luma<St, T>) -> Self
fn from_color_unclamped(color: Luma<St, T>) -> Self
Source§impl<S, T, _S> FromColorUnclamped<Luma<_S, T>> for Hsl<S, T>where
_S: LumaStandard<WhitePoint = <<S as RgbStandard>::Space as RgbSpace>::WhitePoint>,
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
impl<S, T, _S> FromColorUnclamped<Luma<_S, T>> for Hsl<S, T>where
_S: LumaStandard<WhitePoint = <<S as RgbStandard>::Space as RgbSpace>::WhitePoint>,
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Luma<_S, T>) -> Self
fn from_color_unclamped(color: Luma<_S, T>) -> Self
Source§impl<Wp, T, _S> FromColorUnclamped<Luma<_S, T>> for Hsluv<Wp, T>where
_S: LumaStandard<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lchuv<Wp, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Luma<_S, T>> for Hsluv<Wp, T>where
_S: LumaStandard<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lchuv<Wp, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Luma<_S, T>) -> Self
fn from_color_unclamped(color: Luma<_S, T>) -> Self
Source§impl<S, T, _S> FromColorUnclamped<Luma<_S, T>> for Hsv<S, T>where
_S: LumaStandard<WhitePoint = <<S as RgbStandard>::Space as RgbSpace>::WhitePoint>,
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
impl<S, T, _S> FromColorUnclamped<Luma<_S, T>> for Hsv<S, T>where
_S: LumaStandard<WhitePoint = <<S as RgbStandard>::Space as RgbSpace>::WhitePoint>,
S: RgbStandard,
Rgb<S, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Luma<_S, T>) -> Self
fn from_color_unclamped(color: Luma<_S, T>) -> Self
Source§impl<S, T, _S> FromColorUnclamped<Luma<_S, T>> for Hwb<S, T>where
_S: LumaStandard<WhitePoint = <<S as RgbStandard>::Space as RgbSpace>::WhitePoint>,
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
impl<S, T, _S> FromColorUnclamped<Luma<_S, T>> for Hwb<S, T>where
_S: LumaStandard<WhitePoint = <<S as RgbStandard>::Space as RgbSpace>::WhitePoint>,
S: RgbStandard,
Hsv<S, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Luma<_S, T>) -> Self
fn from_color_unclamped(color: Luma<_S, T>) -> Self
Source§impl<Wp, T, _S> FromColorUnclamped<Luma<_S, T>> for Lab<Wp, T>where
_S: LumaStandard<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Luma<_S, T>> for Lab<Wp, T>where
_S: LumaStandard<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Luma<_S, T>) -> Self
fn from_color_unclamped(color: Luma<_S, T>) -> Self
Source§impl<Wp, T, _S> FromColorUnclamped<Luma<_S, T>> for Lch<Wp, T>where
_S: LumaStandard<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lab<Wp, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Luma<_S, T>> for Lch<Wp, T>where
_S: LumaStandard<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Lab<Wp, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Luma<_S, T>) -> Self
fn from_color_unclamped(color: Luma<_S, T>) -> Self
Source§impl<Wp, T, _S> FromColorUnclamped<Luma<_S, T>> for Lchuv<Wp, T>where
_S: LumaStandard<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Luma<_S, T>> for Lchuv<Wp, T>where
_S: LumaStandard<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Luv<Wp, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Luma<_S, T>) -> Self
fn from_color_unclamped(color: Luma<_S, T>) -> Self
Source§impl<Wp, T, _S> FromColorUnclamped<Luma<_S, T>> for Luv<Wp, T>where
_S: LumaStandard<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
impl<Wp, T, _S> FromColorUnclamped<Luma<_S, T>> for Luv<Wp, T>where
_S: LumaStandard<WhitePoint = Wp>,
Wp: WhitePoint<T>,
Xyz<Wp, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Luma<_S, T>) -> Self
fn from_color_unclamped(color: Luma<_S, T>) -> Self
Source§impl<T, _S> FromColorUnclamped<Luma<_S, T>> for Okhsl<T>where
_S: LumaStandard<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
impl<T, _S> FromColorUnclamped<Luma<_S, T>> for Okhsl<T>where
_S: LumaStandard<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Luma<_S, T>) -> Self
fn from_color_unclamped(color: Luma<_S, T>) -> Self
Source§impl<T, _S> FromColorUnclamped<Luma<_S, T>> for Okhsv<T>where
_S: LumaStandard<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
impl<T, _S> FromColorUnclamped<Luma<_S, T>> for Okhsv<T>where
_S: LumaStandard<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Luma<_S, T>) -> Self
fn from_color_unclamped(color: Luma<_S, T>) -> Self
Source§impl<T, _S> FromColorUnclamped<Luma<_S, T>> for Okhwb<T>where
_S: LumaStandard<WhitePoint = D65>,
D65: WhitePoint<T>,
Okhsv<T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
impl<T, _S> FromColorUnclamped<Luma<_S, T>> for Okhwb<T>where
_S: LumaStandard<WhitePoint = D65>,
D65: WhitePoint<T>,
Okhsv<T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Luma<_S, T>) -> Self
fn from_color_unclamped(color: Luma<_S, T>) -> Self
Source§impl<T, _S> FromColorUnclamped<Luma<_S, T>> for Oklab<T>where
_S: LumaStandard<WhitePoint = D65>,
D65: WhitePoint<T>,
Xyz<D65, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
impl<T, _S> FromColorUnclamped<Luma<_S, T>> for Oklab<T>where
_S: LumaStandard<WhitePoint = D65>,
D65: WhitePoint<T>,
Xyz<D65, T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Luma<_S, T>) -> Self
fn from_color_unclamped(color: Luma<_S, T>) -> Self
Source§impl<T, _S> FromColorUnclamped<Luma<_S, T>> for Oklch<T>where
_S: LumaStandard<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
impl<T, _S> FromColorUnclamped<Luma<_S, T>> for Oklch<T>where
_S: LumaStandard<WhitePoint = D65>,
D65: WhitePoint<T>,
Oklab<T>: FromColorUnclamped<Luma<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Luma<_S, T>) -> Self
fn from_color_unclamped(color: Luma<_S, T>) -> Self
Source§impl<S, T> FromColorUnclamped<Luv<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Luv<<S as LumaStandard>::WhitePoint, T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Luv<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Luv<<S as LumaStandard>::WhitePoint, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Luv<<S as LumaStandard>::WhitePoint, T>) -> Self
fn from_color_unclamped(color: Luv<<S as LumaStandard>::WhitePoint, T>) -> Self
Source§impl<S, T> FromColorUnclamped<Okhsl<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Okhsl<T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Okhsl<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Okhsl<T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Okhsl<T>) -> Self
fn from_color_unclamped(color: Okhsl<T>) -> Self
Source§impl<S, T> FromColorUnclamped<Okhsv<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Okhsv<T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Okhsv<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Okhsv<T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Okhsv<T>) -> Self
fn from_color_unclamped(color: Okhsv<T>) -> Self
Source§impl<S, T> FromColorUnclamped<Okhwb<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Okhwb<T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Okhwb<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Okhwb<T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Okhwb<T>) -> Self
fn from_color_unclamped(color: Okhwb<T>) -> Self
Source§impl<S, T> FromColorUnclamped<Oklab<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Oklab<T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Oklab<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Oklab<T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Oklab<T>) -> Self
fn from_color_unclamped(color: Oklab<T>) -> Self
Source§impl<S, T> FromColorUnclamped<Oklch<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Oklch<T>> + IntoColorUnclamped<Self>,
impl<S, T> FromColorUnclamped<Oklch<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Oklch<T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Oklch<T>) -> Self
fn from_color_unclamped(color: Oklch<T>) -> Self
Source§impl<S, T, _S> FromColorUnclamped<Rgb<_S, T>> for Luma<S, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Rgb<_S, T>> + IntoColorUnclamped<Self>,
impl<S, T, _S> FromColorUnclamped<Rgb<_S, T>> for Luma<S, T>where
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Rgb<_S, T>> + IntoColorUnclamped<Self>,
Source§fn from_color_unclamped(color: Rgb<_S, T>) -> Self
fn from_color_unclamped(color: Rgb<_S, T>) -> Self
Source§impl<S, T> FromColorUnclamped<Xyz<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>
impl<S, T> FromColorUnclamped<Xyz<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>
Source§fn from_color_unclamped(color: Xyz<S::WhitePoint, T>) -> Self
fn from_color_unclamped(color: Xyz<S::WhitePoint, T>) -> Self
Source§impl<S, T> FromColorUnclamped<Yxy<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>
impl<S, T> FromColorUnclamped<Yxy<<S as LumaStandard>::WhitePoint, T>> for Luma<S, T>
Source§fn from_color_unclamped(color: Yxy<S::WhitePoint, T>) -> Self
fn from_color_unclamped(color: Yxy<S::WhitePoint, T>) -> Self
Source§impl<S, T, C> FromIterator<Luma<S, T>> for Luma<S, C>
impl<S, T, C> FromIterator<Luma<S, T>> for Luma<S, C>
Source§impl<S, T> HasBoolMask for Luma<S, T>where
T: HasBoolMask,
impl<S, T> HasBoolMask for Luma<S, T>where
T: HasBoolMask,
Source§type Mask = <T as HasBoolMask>::Mask
type Mask = <T as HasBoolMask>::Mask
Self values.Source§impl<'a, 'b, S, T> IntoIterator for &'a Luma<S, &'b [T]>
impl<'a, 'b, S, T> IntoIterator for &'a Luma<S, &'b [T]>
Source§impl<'a, 'b, S, T> IntoIterator for &'a Luma<S, &'b mut [T]>
impl<'a, 'b, S, T> IntoIterator for &'a Luma<S, &'b mut [T]>
Source§impl<'a, S, T> IntoIterator for &'a Luma<S, Vec<T>>
impl<'a, S, T> IntoIterator for &'a Luma<S, Vec<T>>
Source§impl<'a, 'b, S, T> IntoIterator for &'a mut Luma<S, &'b mut [T]>
impl<'a, 'b, S, T> IntoIterator for &'a mut Luma<S, &'b mut [T]>
Source§impl<'a, S, T> IntoIterator for &'a mut Luma<S, Vec<T>>
impl<'a, S, T> IntoIterator for &'a mut Luma<S, Vec<T>>
Source§impl<'a, S, T> IntoIterator for Luma<S, &'a [T]>
impl<'a, S, T> IntoIterator for Luma<S, &'a [T]>
Source§impl<'a, S, T> IntoIterator for Luma<S, &'a mut [T]>
impl<'a, S, T> IntoIterator for Luma<S, &'a mut [T]>
Source§impl<S, T> IntoIterator for Luma<S, Vec<T>>
impl<S, T> IntoIterator for Luma<S, Vec<T>>
Source§impl<S, T> IsWithinBounds for Luma<S, T>
impl<S, T> IsWithinBounds for Luma<S, T>
Source§fn is_within_bounds(&self) -> T::Mask
fn is_within_bounds(&self) -> T::Mask
Source§impl<S, T> Lighten for Luma<S, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus,
T::Mask: LazySelect<T>,
impl<S, T> Lighten for Luma<S, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus,
T::Mask: LazySelect<T>,
Source§impl<S, T> LightenAssign for Luma<S, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + Stimulus,
T::Mask: LazySelect<T>,
impl<S, T> LightenAssign for Luma<S, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + Stimulus,
T::Mask: LazySelect<T>,
Source§fn lighten_assign(&mut self, factor: T)
fn lighten_assign(&mut self, factor: T)
Source§fn lighten_fixed_assign(&mut self, amount: T)
fn lighten_fixed_assign(&mut self, amount: T)
Source§impl<S, T> MulAssign<T> for Luma<S, T>
impl<S, T> MulAssign<T> for Luma<S, T>
Source§fn mul_assign(&mut self, c: T)
fn mul_assign(&mut self, c: T)
*= operation. Read moreSource§impl<S, T> MulAssign for Luma<S, T>where
T: MulAssign,
impl<S, T> MulAssign for Luma<S, T>where
T: MulAssign,
Source§fn mul_assign(&mut self, other: Self)
fn mul_assign(&mut self, other: Self)
*= operation. Read moreSource§impl<S, T> Premultiply for Luma<S, T>where
T: Real + Stimulus + Zero + IsValidDivisor + Mul<T, Output = T> + Div<T, Output = T> + Clone,
T::Mask: LazySelect<T> + Clone,
impl<S, T> Premultiply for Luma<S, T>where
T: Real + Stimulus + Zero + IsValidDivisor + Mul<T, Output = T> + Div<T, Output = T> + Clone,
T::Mask: LazySelect<T> + Clone,
Source§impl<S, T> RelativeContrast for Luma<S, T>where
T: Real + Arithmetics + PartialCmp,
T::Mask: LazySelect<T>,
S: LumaStandard,
S::TransferFn: IntoLinear<T, T>,
impl<S, T> RelativeContrast for Luma<S, T>where
T: Real + Arithmetics + PartialCmp,
T::Mask: LazySelect<T>,
S: LumaStandard,
S::TransferFn: IntoLinear<T, T>,
Source§type Scalar = T
type Scalar = T
palette::color_difference::Wcag21RelativeContrastSource§fn get_contrast_ratio(self, other: Self) -> T
fn get_contrast_ratio(self, other: Self) -> T
palette::color_difference::Wcag21RelativeContrastSource§fn has_min_contrast_text(
self,
other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_min_contrast_text( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrastSource§fn has_min_contrast_large_text(
self,
other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_min_contrast_large_text( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrastSource§fn has_enhanced_contrast_text(
self,
other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_enhanced_contrast_text( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrastSource§fn has_enhanced_contrast_large_text(
self,
other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_enhanced_contrast_large_text( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrastSource§fn has_min_contrast_graphics(
self,
other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_min_contrast_graphics( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
palette::color_difference::Wcag21RelativeContrastSource§impl<S, T> RelativeEq for Luma<S, T>where
T: RelativeEq,
impl<S, T> RelativeEq for Luma<S, T>where
T: RelativeEq,
Source§fn default_max_relative() -> T::Epsilon
fn default_max_relative() -> T::Epsilon
Source§fn relative_eq(
&self,
other: &Self,
epsilon: T::Epsilon,
max_relative: T::Epsilon,
) -> bool
fn relative_eq( &self, other: &Self, epsilon: T::Epsilon, max_relative: T::Epsilon, ) -> bool
Source§fn relative_ne(
&self,
other: &Self,
epsilon: T::Epsilon,
max_relative: T::Epsilon,
) -> bool
fn relative_ne( &self, other: &Self, epsilon: T::Epsilon, max_relative: T::Epsilon, ) -> bool
RelativeEq::relative_eq.Source§impl<S, T> SaturatingAdd<T> for Luma<S, T>where
T: SaturatingAdd<Output = T> + Clone,
impl<S, T> SaturatingAdd<T> for Luma<S, T>where
T: SaturatingAdd<Output = T> + Clone,
Source§impl<S, T> SaturatingAdd for Luma<S, T>where
T: SaturatingAdd<Output = T>,
impl<S, T> SaturatingAdd for Luma<S, T>where
T: SaturatingAdd<Output = T>,
Source§impl<S, T> SaturatingSub<T> for Luma<S, T>where
T: SaturatingSub<Output = T> + Clone,
impl<S, T> SaturatingSub<T> for Luma<S, T>where
T: SaturatingSub<Output = T> + Clone,
Source§impl<S, T> SaturatingSub for Luma<S, T>where
T: SaturatingSub<Output = T>,
impl<S, T> SaturatingSub for Luma<S, T>where
T: SaturatingSub<Output = T>,
Source§impl<S, T> SubAssign<T> for Luma<S, T>
impl<S, T> SubAssign<T> for Luma<S, T>
Source§fn sub_assign(&mut self, c: T)
fn sub_assign(&mut self, c: T)
-= operation. Read moreSource§impl<S, T> SubAssign for Luma<S, T>where
T: SubAssign,
impl<S, T> SubAssign for Luma<S, T>where
T: SubAssign,
Source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
-= operation. Read moreSource§impl<S, T> UlpsEq for Luma<S, T>where
T: UlpsEq,
impl<S, T> UlpsEq for Luma<S, T>where
T: UlpsEq,
Source§impl<S, T> Wcag21RelativeContrast for Luma<S, T>
impl<S, T> Wcag21RelativeContrast for Luma<S, T>
Source§fn relative_contrast(self, other: Self) -> Self::Scalar
fn relative_contrast(self, other: Self) -> Self::Scalar
Source§fn has_min_contrast_text(
self,
other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_min_contrast_text( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
Source§fn has_min_contrast_large_text(
self,
other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_min_contrast_large_text( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
Source§fn has_enhanced_contrast_text(
self,
other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_enhanced_contrast_text( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
Source§fn has_enhanced_contrast_large_text(
self,
other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_enhanced_contrast_large_text( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
Source§fn has_min_contrast_graphics(
self,
other: Self,
) -> <Self::Scalar as HasBoolMask>::Mask
fn has_min_contrast_graphics( self, other: Self, ) -> <Self::Scalar as HasBoolMask>::Mask
Source§impl<S, T, _A> WithAlpha<_A> for Luma<S, T>where
_A: Stimulus,
impl<S, T, _A> WithAlpha<_A> for Luma<S, T>where
_A: Stimulus,
Source§fn with_alpha(self, alpha: _A) -> Self::WithAlpha
fn with_alpha(self, alpha: _A) -> Self::WithAlpha
Self already has a transparency, it is
overwritten. Read moreSource§fn without_alpha(self) -> Self::Color
fn without_alpha(self) -> Self::Color
Self::Color has
an internal transparency field, that field will be set to
A::max_intensity() to make it opaque. Read moreSource§fn split(self) -> (Self::Color, _A)
fn split(self) -> (Self::Color, _A)
impl<S, T> Copy for Luma<S, T>where
T: Copy,
impl<S, T> Eq for Luma<S, T>where
T: Eq,
impl<S, T> StimulusColor for Luma<S, T>where
T: Stimulus,
Auto Trait Implementations§
impl<S, T> Freeze for Luma<S, T>where
T: Freeze,
impl<S, T> RefUnwindSafe for Luma<S, T>where
T: RefUnwindSafe,
S: RefUnwindSafe,
impl<S, T> Send for Luma<S, T>
impl<S, T> Sync for Luma<S, T>
impl<S, T> Unpin for Luma<S, T>
impl<S, T> UnwindSafe for Luma<S, T>where
T: UnwindSafe,
S: UnwindSafe,
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptFrom<S, Swp, Dwp, T> for Dwhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
S: IntoColorUnclamped<Xyz<Swp, T>>,
D: FromColorUnclamped<Xyz<Dwp, T>>,
impl<S, D, Swp, Dwp, T> AdaptFrom<S, Swp, Dwp, T> for Dwhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
S: IntoColorUnclamped<Xyz<Swp, T>>,
D: FromColorUnclamped<Xyz<Dwp, T>>,
Source§fn adapt_from_using<M>(color: S, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_from_using<M>(color: S, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_from(color: S) -> Self
fn adapt_from(color: S) -> Self
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Source§impl<C, T, const N: usize> Blend for Cwhere
C: Premultiply<Scalar = T> + StimulusColor + ArrayCast<Array = [T; N]> + Clone,
T: Real + Zero + One + MinMax + Clamp + Sqrt + Abs + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<C, T, const N: usize> Blend for Cwhere
C: Premultiply<Scalar = T> + StimulusColor + ArrayCast<Array = [T; N]> + Clone,
T: Real + Zero + One + MinMax + Clamp + Sqrt + Abs + Arithmetics + PartialCmp + Clone,
<T as HasBoolMask>::Mask: LazySelect<T>,
Source§fn multiply(self, other: C) -> C
fn multiply(self, other: C) -> C
self with other. This uses the alpha component to regulate
the effect, so it’s not just plain component wise multiplication.Source§fn overlay(self, other: C) -> C
fn overlay(self, other: C) -> C
self or other if other is dark, or screen them if other
is light. This results in an S curve.Source§fn dodge(self, other: C) -> C
fn dodge(self, other: C) -> C
other to reflect self. Results in other if self is
black.Source§fn hard_light(self, other: C) -> C
fn hard_light(self, other: C) -> C
self or other if other is dark, or screen them if self
is light. This is similar to overlay, but depends on self instead
of other.Source§fn soft_light(self, other: C) -> C
fn soft_light(self, other: C) -> C
other if self is light, or darken other as if it’s burned
if self is dark. The effect is increased if the components of self
is further from 0.5.Source§fn difference(self, other: C) -> C
fn difference(self, other: C) -> C
self and other. It’s
basically abs(self - other), but regulated by the alpha component.Source§impl<C> BlendWith for C
impl<C> BlendWith for C
Source§fn blend_with<F>(self, other: C, blend_function: F) -> C
fn blend_with<F>(self, other: C, blend_function: F) -> C
destination, using
blend_function. Anything that implements BlendFunction is
acceptable, including functions and closures. Read moreSource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<C> Compose for C
impl<C> Compose for C
Source§fn over(self, other: C) -> C
fn over(self, other: C) -> C
self over other. This is the good old common alpha composition
equation.Source§fn inside(self, other: C) -> C
fn inside(self, other: C) -> C
self that overlaps the visible parts of
other.Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromColor<T> for Uwhere
U: FromColorUnclamped<T> + Clamp,
impl<T, U> FromColor<T> for Uwhere
U: FromColorUnclamped<T> + Clamp,
Source§fn from_color(t: T) -> U
fn from_color(t: T) -> U
Source§impl<T, U> FromColorMut<U> for T
impl<T, U> FromColorMut<U> for T
Source§fn from_color_mut(color: &mut U) -> FromColorMutGuard<'_, T, U>
fn from_color_mut(color: &mut U) -> FromColorMutGuard<'_, T, U>
Source§impl<T, U> FromColorUnclampedMut<U> for Twhere
T: FromColorUnclamped<U> + ArrayCast + Clone,
U: FromColorUnclamped<T> + ArrayCast<Array = <T as ArrayCast>::Array> + Clone,
impl<T, U> FromColorUnclampedMut<U> for Twhere
T: FromColorUnclamped<U> + ArrayCast + Clone,
U: FromColorUnclamped<T> + ArrayCast<Array = <T as ArrayCast>::Array> + Clone,
Source§fn from_color_unclamped_mut(
color: &mut U,
) -> FromColorUnclampedMutGuard<'_, T, U>
fn from_color_unclamped_mut( color: &mut U, ) -> FromColorUnclampedMutGuard<'_, T, U>
Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorMut<T> for U
impl<T, U> IntoColorMut<T> for U
Source§fn into_color_mut(&mut self) -> FromColorMutGuard<'_, T, U>
fn into_color_mut(&mut self) -> FromColorMutGuard<'_, T, U>
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T, U> IntoColorUnclampedMut<T> for U
impl<T, U> IntoColorUnclampedMut<T> for U
Source§fn into_color_unclamped_mut(&mut self) -> FromColorUnclampedMutGuard<'_, T, U>
fn into_color_unclamped_mut(&mut self) -> FromColorUnclampedMutGuard<'_, T, U>
Source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryFromColor<T> for U
impl<T, U> TryFromColor<T> for U
Source§fn try_from_color(t: T) -> Result<U, OutOfBounds<U>>
fn try_from_color(t: T) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read moreSource§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more