pub type GammaLuma<T = f32> = Luma<Gamma<D65>, T>;
Expand description
Gamma 2.2 encoded luminance.
Aliased Type§
struct GammaLuma<T = f32> {
pub luma: T,
pub standard: PhantomData<Gamma<D65>>,
}
Fields§
§luma: T
The lightness of the color. 0.0 is black and 1.0 is white.
standard: PhantomData<Gamma<D65>>
The kind of RGB standard. sRGB is the default.
Implementations
source§impl<S, C> Luma<S, C>
impl<S, C> Luma<S, C>
sourcepub fn iter<'a>(&'a self) -> <&'a Luma<S, C> as IntoIterator>::IntoIterwhere
&'a Luma<S, C>: IntoIterator,
pub fn iter<'a>(&'a self) -> <&'a Luma<S, C> as IntoIterator>::IntoIterwhere
&'a Luma<S, C>: IntoIterator,
Return an iterator over the colors in the wrapped collections.
sourcepub fn iter_mut<'a>(
&'a mut self,
) -> <&'a mut Luma<S, C> as IntoIterator>::IntoIterwhere
&'a mut Luma<S, C>: IntoIterator,
pub fn iter_mut<'a>(
&'a mut self,
) -> <&'a mut Luma<S, C> as IntoIterator>::IntoIterwhere
&'a mut Luma<S, C>: 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, &'a <I as SliceIndex<[T]>>::Output>>
pub fn get<'a, I, T>( &'a self, index: I, ) -> Option<Luma<S, &'a <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, &'a mut <I as SliceIndex<[T]>>::Output>>
pub fn get_mut<'a, I, T>( &'a mut self, index: I, ) -> Option<Luma<S, &'a 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, T>where
S: LumaStandard,
impl<S, T> Luma<S, T>where
S: LumaStandard,
sourcepub fn into_linear<U>(self) -> Luma<Linear<<S as LumaStandard>::WhitePoint>, U>
pub fn into_linear<U>(self) -> Luma<Linear<<S as LumaStandard>::WhitePoint>, U>
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 as LumaStandard>::WhitePoint>, U>,
) -> Luma<S, T>
pub fn from_linear<U>( color: Luma<Linear<<S as LumaStandard>::WhitePoint>, U>, ) -> Luma<S, 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<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>) -> Luma<S, T>where
T: FromStimulus<U>,
pub fn from_format<U>(color: Luma<S, U>) -> Luma<S, T>where
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(_: (T,)) -> Luma<S, T>
pub fn from_components(_: (T,)) -> Luma<S, T>
Convert from a (luma,)
tuple.
source§impl<S, T> Luma<S, Vec<T>>
impl<S, T> Luma<S, Vec<T>>
sourcepub fn with_capacity(capacity: usize) -> Luma<S, Vec<T>>
pub fn with_capacity(capacity: usize) -> Luma<S, Vec<T>>
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.
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) -> Luma<S, u8>
pub fn from_u16<O>(color: u16) -> Luma<S, u8>
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.
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() -> <Luma<S, T> as AbsDiffEq>::Epsilon
fn default_epsilon() -> <Luma<S, T> as AbsDiffEq>::Epsilon
source§fn abs_diff_eq(
&self,
other: &Luma<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_eq( &self, other: &Luma<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, ) -> bool
source§fn abs_diff_ne(
&self,
other: &Luma<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_ne( &self, other: &Luma<S, T>, epsilon: <T as AbsDiffEq>::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: Luma<S, T>)
fn add_assign(&mut self, other: Luma<S, T>)
+=
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<Luma<S, T>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Luma<S, T>, <__D as Deserializer<'de>>::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: Luma<S, T>)
fn div_assign(&mut self, other: Luma<S, T>)
/=
operation. Read moresource§impl<S, T> EuclideanDistance for Luma<S, T>
impl<S, T> EuclideanDistance for Luma<S, T>
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>(&mut self, iter: I)where
I: IntoIterator<Item = Luma<S, T>>,
fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = Luma<S, T>>,
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> From<PreAlpha<Luma<S, T>>> for Luma<S, T>where
Luma<S, T>: Premultiply<Scalar = T>,
impl<S, T> From<PreAlpha<Luma<S, T>>> for Luma<S, T>where
Luma<S, T>: Premultiply<Scalar = T>,
source§impl<S, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Luma<S, T>where
_C: IntoColorUnclamped<Luma<S, T>>,
impl<S, T, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Luma<S, T>where
_C: IntoColorUnclamped<Luma<S, T>>,
source§impl<S, T, _S> FromColorUnclamped<Hsl<_S, T>> for Luma<S, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Luma<S, T>>,
impl<S, T, _S> FromColorUnclamped<Hsl<_S, T>> for Luma<S, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hsl<_S, T>> + IntoColorUnclamped<Luma<S, T>>,
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<Luma<S, T>>,
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<Luma<S, T>>,
source§fn from_color_unclamped(
color: Hsluv<<S as LumaStandard>::WhitePoint, T>,
) -> Luma<S, T>
fn from_color_unclamped( color: Hsluv<<S as LumaStandard>::WhitePoint, T>, ) -> Luma<S, T>
source§impl<S, T, _S> FromColorUnclamped<Hsv<_S, T>> for Luma<S, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Luma<S, T>>,
impl<S, T, _S> FromColorUnclamped<Hsv<_S, T>> for Luma<S, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hsv<_S, T>> + IntoColorUnclamped<Luma<S, T>>,
source§impl<S, T, _S> FromColorUnclamped<Hwb<_S, T>> for Luma<S, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Luma<S, T>>,
impl<S, T, _S> FromColorUnclamped<Hwb<_S, T>> for Luma<S, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Hwb<_S, T>> + IntoColorUnclamped<Luma<S, T>>,
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<Luma<S, T>>,
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<Luma<S, T>>,
source§fn from_color_unclamped(
color: Lab<<S as LumaStandard>::WhitePoint, T>,
) -> Luma<S, T>
fn from_color_unclamped( color: Lab<<S as LumaStandard>::WhitePoint, T>, ) -> Luma<S, T>
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<Luma<S, T>>,
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<Luma<S, T>>,
source§fn from_color_unclamped(
color: Lch<<S as LumaStandard>::WhitePoint, T>,
) -> Luma<S, T>
fn from_color_unclamped( color: Lch<<S as LumaStandard>::WhitePoint, T>, ) -> Luma<S, T>
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<Luma<S, T>>,
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<Luma<S, T>>,
source§fn from_color_unclamped(
color: Lchuv<<S as LumaStandard>::WhitePoint, T>,
) -> Luma<S, T>
fn from_color_unclamped( color: Lchuv<<S as LumaStandard>::WhitePoint, T>, ) -> Luma<S, T>
source§impl<S1, S2, T> FromColorUnclamped<Luma<S2, T>> for Luma<S1, T>where
S1: LumaStandard + 'static,
S2: LumaStandard<WhitePoint = <S1 as LumaStandard>::WhitePoint> + 'static,
<S1 as LumaStandard>::TransferFn: FromLinear<T, T>,
<S2 as LumaStandard>::TransferFn: IntoLinear<T, T>,
impl<S1, S2, T> FromColorUnclamped<Luma<S2, T>> for Luma<S1, T>where
S1: LumaStandard + 'static,
S2: LumaStandard<WhitePoint = <S1 as LumaStandard>::WhitePoint> + 'static,
<S1 as LumaStandard>::TransferFn: FromLinear<T, T>,
<S2 as LumaStandard>::TransferFn: IntoLinear<T, T>,
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<Luma<S, T>>,
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<Luma<S, T>>,
source§fn from_color_unclamped(
color: Luv<<S as LumaStandard>::WhitePoint, T>,
) -> Luma<S, T>
fn from_color_unclamped( color: Luv<<S as LumaStandard>::WhitePoint, T>, ) -> Luma<S, T>
source§impl<S, T> FromColorUnclamped<Okhsl<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Okhsl<T>> + IntoColorUnclamped<Luma<S, T>>,
impl<S, T> FromColorUnclamped<Okhsl<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Okhsl<T>> + IntoColorUnclamped<Luma<S, T>>,
source§impl<S, T> FromColorUnclamped<Okhsv<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Okhsv<T>> + IntoColorUnclamped<Luma<S, T>>,
impl<S, T> FromColorUnclamped<Okhsv<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Okhsv<T>> + IntoColorUnclamped<Luma<S, T>>,
source§impl<S, T> FromColorUnclamped<Okhwb<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Okhwb<T>> + IntoColorUnclamped<Luma<S, T>>,
impl<S, T> FromColorUnclamped<Okhwb<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Okhwb<T>> + IntoColorUnclamped<Luma<S, T>>,
source§impl<S, T> FromColorUnclamped<Oklab<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Oklab<T>> + IntoColorUnclamped<Luma<S, T>>,
impl<S, T> FromColorUnclamped<Oklab<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Oklab<T>> + IntoColorUnclamped<Luma<S, T>>,
source§impl<S, T> FromColorUnclamped<Oklch<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Oklch<T>> + IntoColorUnclamped<Luma<S, T>>,
impl<S, T> FromColorUnclamped<Oklch<T>> for Luma<S, T>where
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Oklch<T>> + IntoColorUnclamped<Luma<S, T>>,
source§impl<S, T, _S> FromColorUnclamped<Rgb<_S, T>> for Luma<S, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Rgb<_S, T>> + IntoColorUnclamped<Luma<S, T>>,
impl<S, T, _S> FromColorUnclamped<Rgb<_S, T>> for Luma<S, T>where
_S: RgbStandard,
<_S as RgbStandard>::Space: RgbSpace<WhitePoint = <S as LumaStandard>::WhitePoint>,
S: LumaStandard,
Xyz<<S as LumaStandard>::WhitePoint, T>: FromColorUnclamped<Rgb<_S, T>> + IntoColorUnclamped<Luma<S, T>>,
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 as LumaStandard>::WhitePoint, T>,
) -> Luma<S, T>
fn from_color_unclamped( color: Xyz<<S as LumaStandard>::WhitePoint, T>, ) -> Luma<S, T>
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 as LumaStandard>::WhitePoint, T>,
) -> Luma<S, T>
fn from_color_unclamped( color: Yxy<<S as LumaStandard>::WhitePoint, T>, ) -> Luma<S, T>
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, 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>where
T: PartialCmp + Stimulus,
<T as HasBoolMask>::Mask: BitAnd<Output = <T as HasBoolMask>::Mask>,
impl<S, T> IsWithinBounds for Luma<S, T>where
T: PartialCmp + Stimulus,
<T as HasBoolMask>::Mask: BitAnd<Output = <T as HasBoolMask>::Mask>,
source§fn is_within_bounds(&self) -> <T as HasBoolMask>::Mask
fn is_within_bounds(&self) -> <T as HasBoolMask>::Mask
source§impl<S, T> Lighten for Luma<S, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<S, T> Lighten for Luma<S, T>where
T: Real + Zero + MinMax + Clamp + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
source§impl<S, T> LightenAssign for Luma<S, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::Mask: LazySelect<T>,
impl<S, T> LightenAssign for Luma<S, T>where
T: Real + Zero + MinMax + ClampAssign + AddAssign + Arithmetics + PartialCmp + Clone + Stimulus,
<T as HasBoolMask>::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: Luma<S, T>)
fn mul_assign(&mut self, other: Luma<S, T>)
*=
operation. Read moresource§impl<S, T> Premultiply for Luma<S, T>where
T: Real + Stimulus + Zero + IsValidDivisor + Mul<Output = T> + Div<Output = T> + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
impl<S, T> Premultiply for Luma<S, T>where
T: Real + Stimulus + Zero + IsValidDivisor + Mul<Output = T> + Div<Output = T> + Clone,
<T as HasBoolMask>::Mask: LazySelect<T> + Clone,
source§impl<S, T> RelativeContrast for Luma<S, T>where
T: Real + Arithmetics + PartialCmp,
<T as HasBoolMask>::Mask: LazySelect<T>,
S: LumaStandard,
<S as LumaStandard>::TransferFn: IntoLinear<T, T>,
impl<S, T> RelativeContrast for Luma<S, T>where
T: Real + Arithmetics + PartialCmp,
<T as HasBoolMask>::Mask: LazySelect<T>,
S: LumaStandard,
<S as LumaStandard>::TransferFn: IntoLinear<T, T>,
source§type Scalar = T
type Scalar = T
palette::color_difference::Wcag21RelativeContrast
source§fn get_contrast_ratio(self, other: Luma<S, T>) -> T
fn get_contrast_ratio(self, other: Luma<S, T>) -> T
palette::color_difference::Wcag21RelativeContrast
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
palette::color_difference::Wcag21RelativeContrast
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
palette::color_difference::Wcag21RelativeContrast
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
palette::color_difference::Wcag21RelativeContrast
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
palette::color_difference::Wcag21RelativeContrast
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
palette::color_difference::Wcag21RelativeContrast
source§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 as AbsDiffEq>::Epsilon
fn default_max_relative() -> <T as AbsDiffEq>::Epsilon
source§fn relative_eq(
&self,
other: &Luma<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
max_relative: <T as AbsDiffEq>::Epsilon,
) -> bool
fn relative_eq( &self, other: &Luma<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, max_relative: <T as AbsDiffEq>::Epsilon, ) -> bool
source§fn relative_ne(
&self,
other: &Luma<S, T>,
epsilon: <T as AbsDiffEq>::Epsilon,
max_relative: <T as AbsDiffEq>::Epsilon,
) -> bool
fn relative_ne( &self, other: &Luma<S, T>, epsilon: <T as AbsDiffEq>::Epsilon, max_relative: <T as AbsDiffEq>::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§fn saturating_add(self, c: T) -> <Luma<S, T> as SaturatingAdd<T>>::Output
fn saturating_add(self, c: T) -> <Luma<S, T> as SaturatingAdd<T>>::Output
self
and other
, but saturates instead of overflowing.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§fn saturating_sub(self, c: T) -> <Luma<S, T> as SaturatingSub<T>>::Output
fn saturating_sub(self, c: T) -> <Luma<S, T> as SaturatingSub<T>>::Output
self
and other
, but saturates instead of overflowing.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> Serialize for Luma<S, T>where
T: Serialize,
impl<S, T> Serialize for Luma<S, T>where
T: Serialize,
source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
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: Luma<S, T>)
fn sub_assign(&mut self, other: Luma<S, T>)
-=
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§fn default_max_ulps() -> u32
fn default_max_ulps() -> u32
source§impl<S, T> Wcag21RelativeContrast for Luma<S, T>
impl<S, T> Wcag21RelativeContrast for Luma<S, T>
source§fn relative_luminance(
self,
) -> Luma<Linear<D65>, <Luma<S, T> as Wcag21RelativeContrast>::Scalar>
fn relative_luminance( self, ) -> Luma<Linear<D65>, <Luma<S, T> as Wcag21RelativeContrast>::Scalar>
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) -> <Luma<S, T> as WithAlpha<_A>>::WithAlpha
fn with_alpha(self, alpha: _A) -> <Luma<S, T> as WithAlpha<_A>>::WithAlpha
Self
already has a transparency, it is
overwritten. Read moresource§fn without_alpha(self) -> <Luma<S, T> as WithAlpha<_A>>::Color
fn without_alpha(self) -> <Luma<S, T> as WithAlpha<_A>>::Color
Self::Color
has
an internal transparency field, that field will be set to
A::max_intensity()
to make it opaque. Read more