Struct palette::rgb::Rgb [−][src]
#[repr(C)]pub struct Rgb<S: RgbStandard = Srgb, T: Component = f32> { pub red: T, pub green: T, pub blue: T, pub standard: PhantomData<S>, }
Generic RGB.
RGB is probably the most common color space, when it comes to computer graphics, and it’s defined as an additive mixture of red, green and blue light, where gray scale colors are created when these three channels are equal in strength.
Many conversions and operations on this color space requires that it’s
linear, meaning that gamma correction is required when converting to and
from a displayable RGB, such as sRGB. See the pixel
module for encoding formats.
Fields
red: T
The amount of red light, where 0.0 is no red light and 1.0f (or 255u8) is the highest displayable amount.
green: T
The amount of green light, where 0.0 is no green light and 1.0f (or 255u8) is the highest displayable amount.
blue: T
The amount of blue light, where 0.0 is no blue light and 1.0f (or 255u8) is the highest displayable amount.
standard: PhantomData<S>
The kind of RGB standard. sRGB is the default.
Implementations
impl<S: RgbStandard, T: Component> Rgb<S, T>
[src]
impl<S: RgbStandard, T: Component> Rgb<S, T>
[src]pub fn new(red: T, green: T, blue: T) -> Rgb<S, T>
[src]
Create an RGB color.
pub fn into_format<U>(self) -> Rgb<S, U> where
U: Component + FromComponent<T>,
[src]
U: Component + FromComponent<T>,
Convert into another component type.
pub fn from_format<U>(color: Rgb<S, U>) -> Self where
T: FromComponent<U>,
U: Component,
[src]
T: FromComponent<U>,
U: Component,
Convert from another component type.
pub fn into_components(self) -> (T, T, T)
[src]
Convert to a (red, green, blue)
tuple.
pub fn from_components((red, green, blue): (T, T, T)) -> Self
[src]
Convert from a (red, green, blue)
tuple.
pub fn min_red() -> T
[src]
Return the red
value minimum.
pub fn max_red() -> T
[src]
Return the red
value maximum.
pub fn min_green() -> T
[src]
Return the green
value minimum.
pub fn max_green() -> T
[src]
Return the green
value maximum.
pub fn min_blue() -> T
[src]
Return the blue
value minimum.
pub fn max_blue() -> T
[src]
Return the blue
value maximum.
impl<S: RgbStandard> Rgb<S, u8>
[src]
impl<S: RgbStandard> Rgb<S, u8>
[src]Convenience functions to convert between a packed u32
and Rgb
.
use palette::Srgb; let rgb = Srgb::from(0x607F00); assert_eq!(Srgb::new(96u8, 127, 0), rgb); let integer = u32::from(rgb); assert_eq!(0xFF607F00, integer);
pub fn into_u32<C: RgbChannels>(self) -> u32
[src]
Convert to a packed u32
with with specifiable component order.
Defaults to ARGB ordering (0xAARRGGBB).
See Packed for more details.
pub fn from_u32<C: RgbChannels>(color: u32) -> Self
[src]
Convert from a packed u32
with specifiable component order. Defaults
to ARGB ordering (0xAARRGGBB).
See Packed for more details.
impl<S: RgbStandard, T: FloatComponent> Rgb<S, T>
[src]
impl<S: RgbStandard, T: FloatComponent> Rgb<S, T>
[src]pub fn into_linear(self) -> Rgb<Linear<S::Space>, T>
[src]
Convert the color to linear RGB.
pub fn from_linear(color: Rgb<Linear<S::Space>, T>) -> Rgb<S, T>
[src]
Convert linear RGB to nonlinear RGB.
pub fn into_encoding<St: RgbStandard<Space = S::Space>>(self) -> Rgb<St, T>
[src]
Convert the color to a different encoding.
pub fn from_encoding<St: RgbStandard<Space = S::Space>>(
color: Rgb<St, T>
) -> Rgb<S, T>
[src]
color: Rgb<St, T>
) -> Rgb<S, T>
Convert RGB from a different encoding.
Trait Implementations
impl<S, T> AbsDiffEq<Rgb<S, T>> for Rgb<S, T> where
T: Component + AbsDiffEq,
T::Epsilon: Copy,
S: RgbStandard + PartialEq,
[src]
impl<S, T> AbsDiffEq<Rgb<S, T>> for Rgb<S, T> where
T: Component + AbsDiffEq,
T::Epsilon: Copy,
S: RgbStandard + PartialEq,
[src]type Epsilon = T::Epsilon
Used for specifying relative comparisons.
fn default_epsilon() -> Self::Epsilon
[src]
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
[src]
pub fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
[src]
impl<S, T> Add<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Add,
<T as Add>::Output: Component,
[src]
impl<S, T> Add<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Add,
<T as Add>::Output: Component,
[src]impl<S, T> Add<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Add,
<T as Add>::Output: Component,
[src]
impl<S, T> Add<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Add,
<T as Add>::Output: Component,
[src]impl<S, T> AddAssign<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + AddAssign,
[src]
impl<S, T> AddAssign<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + AddAssign,
[src]fn add_assign(&mut self, other: Rgb<S, T>)
[src]
impl<S, T> AddAssign<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + AddAssign,
[src]
impl<S, T> AddAssign<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + AddAssign,
[src]fn add_assign(&mut self, c: T)
[src]
impl<S, T, P: ?Sized> AsMut<P> for Rgb<S, T> where
T: Component,
S: RgbStandard,
P: RawPixel<T>,
[src]
impl<S, T, P: ?Sized> AsMut<P> for Rgb<S, T> where
T: Component,
S: RgbStandard,
P: RawPixel<T>,
[src]impl<S, T, P: ?Sized> AsRef<P> for Rgb<S, T> where
T: Component,
S: RgbStandard,
P: RawPixel<T>,
[src]
impl<S, T, P: ?Sized> AsRef<P> for Rgb<S, T> where
T: Component,
S: RgbStandard,
P: RawPixel<T>,
[src]impl<S, T> Blend for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: FloatComponent,
[src]
impl<S, T> Blend for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: FloatComponent,
[src]type Color = Rgb<S, T>
The core color type. Typically Self
for color types without alpha.
fn into_premultiplied(self) -> PreAlpha<Rgb<S, T>, T>
[src]
fn from_premultiplied(color: PreAlpha<Rgb<S, T>, T>) -> Self
[src]
fn blend<F>(self, destination: Self, blend_function: F) -> Self where
F: BlendFunction<Self::Color>,
[src]
F: BlendFunction<Self::Color>,
fn over(self, other: Self) -> Self
[src]
fn inside(self, other: Self) -> Self
[src]
fn outside(self, other: Self) -> Self
[src]
fn atop(self, other: Self) -> Self
[src]
fn xor(self, other: Self) -> Self
[src]
fn plus(self, other: Self) -> Self
[src]
fn multiply(self, other: Self) -> Self
[src]
fn screen(self, other: Self) -> Self
[src]
fn overlay(self, other: Self) -> Self
[src]
fn darken(self, other: Self) -> Self
[src]
fn lighten(self, other: Self) -> Self
[src]
fn dodge(self, other: Self) -> Self
[src]
fn burn(self, other: Self) -> Self
[src]
fn hard_light(self, other: Self) -> Self
[src]
fn soft_light(self, other: Self) -> Self
[src]
fn difference(self, other: Self) -> Self
[src]
fn exclusion(self, other: Self) -> Self
[src]
impl<S, T> Clamp for Rgb<S, T> where
S: RgbStandard,
T: Component,
[src]
impl<S, T> Clamp for Rgb<S, T> where
S: RgbStandard,
T: Component,
[src]fn is_within_bounds(&self) -> bool
[src]
fn clamp(&self) -> Rgb<S, T>
[src]
fn clamp_self(&mut self)
[src]
impl<S: RgbStandard, T: Component> Clone for Rgb<S, T>
[src]
impl<S: RgbStandard, T: Component> Clone for Rgb<S, T>
[src]impl<S, T> ComponentWise for Rgb<S, T> where
S: RgbStandard,
T: Component,
[src]
impl<S, T> ComponentWise for Rgb<S, T> where
S: RgbStandard,
T: Component,
[src]type Scalar = T
The scalar type for color components.
fn component_wise<F: FnMut(T, T) -> T>(
&self,
other: &Rgb<S, T>,
f: F
) -> Rgb<S, T>
[src]
&self,
other: &Rgb<S, T>,
f: F
) -> Rgb<S, T>
fn component_wise_self<F: FnMut(T) -> T>(&self, f: F) -> Rgb<S, T>
[src]
impl<S, T> Default for Rgb<S, T> where
T: Component,
S: RgbStandard,
[src]
impl<S, T> Default for Rgb<S, T> where
T: Component,
S: RgbStandard,
[src]impl<S, T> Div<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Div,
<T as Div>::Output: Component,
[src]
impl<S, T> Div<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Div,
<T as Div>::Output: Component,
[src]impl<S, T> Div<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Div,
<T as Div>::Output: Component,
[src]
impl<S, T> Div<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Div,
<T as Div>::Output: Component,
[src]impl<S, T> DivAssign<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + DivAssign,
[src]
impl<S, T> DivAssign<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + DivAssign,
[src]fn div_assign(&mut self, other: Rgb<S, T>)
[src]
impl<S, T> DivAssign<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + DivAssign,
[src]
impl<S, T> DivAssign<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + DivAssign,
[src]fn div_assign(&mut self, c: T)
[src]
impl<S, C> From<Packed<C>> for Rgb<S, u8> where
S: RgbStandard,
C: RgbChannels,
[src]
impl<S, C> From<Packed<C>> for Rgb<S, u8> where
S: RgbStandard,
C: RgbChannels,
[src]impl<T, U> From<Rgb<Linear<Srgb>, T>> for Srgb<U> where
T: FloatComponent,
U: Component + FromComponent<T>,
[src]
impl<T, U> From<Rgb<Linear<Srgb>, T>> for Srgb<U> where
T: FloatComponent,
U: Component + FromComponent<T>,
[src]impl<T, U> From<Rgb<Linear<Srgb>, T>> for Srgba<U> where
T: FloatComponent,
U: Component + FromComponent<T>,
[src]
impl<T, U> From<Rgb<Linear<Srgb>, T>> for Srgba<U> where
T: FloatComponent,
U: Component + FromComponent<T>,
[src]impl<S, C> From<Rgb<S, u8>> for Packed<C> where
S: RgbStandard,
C: RgbChannels,
[src]
impl<S, C> From<Rgb<S, u8>> for Packed<C> where
S: RgbStandard,
C: RgbChannels,
[src]impl<T, U> From<Rgb<Srgb, T>> for LinSrgb<U> where
T: FloatComponent,
U: Component + FromComponent<T>,
[src]
impl<T, U> From<Rgb<Srgb, T>> for LinSrgb<U> where
T: FloatComponent,
U: Component + FromComponent<T>,
[src]impl<T, U> From<Rgb<Srgb, T>> for LinSrgba<U> where
T: FloatComponent,
U: Component + FromComponent<T>,
[src]
impl<T, U> From<Rgb<Srgb, T>> for LinSrgba<U> where
T: FloatComponent,
U: Component + FromComponent<T>,
[src]impl<S: RgbStandard, T: Component, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Rgb<S, T> where
T: FloatComponent,
_C: IntoColorUnclamped<Self>,
_A: Component,
[src]
impl<S: RgbStandard, T: Component, _C, _A> FromColorUnclamped<Alpha<_C, _A>> for Rgb<S, T> where
T: FloatComponent,
_C: IntoColorUnclamped<Self>,
_A: Component,
[src]fn from_color_unclamped(color: Alpha<_C, _A>) -> Self
[src]
impl<S, T> FromColorUnclamped<Hsl<S, T>> for Rgb<S, T> where
S: RgbStandard,
T: FloatComponent,
[src]
impl<S, T> FromColorUnclamped<Hsl<S, T>> for Rgb<S, T> where
S: RgbStandard,
T: FloatComponent,
[src]fn from_color_unclamped(hsl: Hsl<S, T>) -> Self
[src]
impl<S: RgbStandard, T: Component> FromColorUnclamped<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
[src]
impl<S: RgbStandard, T: Component> FromColorUnclamped<Hsluv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
[src]fn from_color_unclamped(
color: Hsluv<<S::Space as RgbSpace>::WhitePoint, T>
) -> Self
[src]
color: Hsluv<<S::Space as RgbSpace>::WhitePoint, T>
) -> Self
impl<S, T> FromColorUnclamped<Hsv<S, T>> for Rgb<S, T> where
S: RgbStandard,
T: FloatComponent,
[src]
impl<S, T> FromColorUnclamped<Hsv<S, T>> for Rgb<S, T> where
S: RgbStandard,
T: FloatComponent,
[src]fn from_color_unclamped(hsv: Hsv<S, T>) -> Self
[src]
impl<S: RgbStandard, T: Component> FromColorUnclamped<Hwb<S, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
[src]
impl<S: RgbStandard, T: Component> FromColorUnclamped<Hwb<S, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
[src]fn from_color_unclamped(color: Hwb<S, T>) -> Self
[src]
impl<S: RgbStandard, T: Component> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
[src]
impl<S: RgbStandard, T: Component> FromColorUnclamped<Lab<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
[src]fn from_color_unclamped(
color: Lab<<S::Space as RgbSpace>::WhitePoint, T>
) -> Self
[src]
color: Lab<<S::Space as RgbSpace>::WhitePoint, T>
) -> Self
impl<S: RgbStandard, T: Component> FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
[src]
impl<S: RgbStandard, T: Component> FromColorUnclamped<Lch<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
[src]fn from_color_unclamped(
color: Lch<<S::Space as RgbSpace>::WhitePoint, T>
) -> Self
[src]
color: Lch<<S::Space as RgbSpace>::WhitePoint, T>
) -> Self
impl<S: RgbStandard, T: Component> FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
[src]
impl<S: RgbStandard, T: Component> FromColorUnclamped<Lchuv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
[src]fn from_color_unclamped(
color: Lchuv<<S::Space as RgbSpace>::WhitePoint, T>
) -> Self
[src]
color: Lchuv<<S::Space as RgbSpace>::WhitePoint, T>
) -> Self
impl<S, St, T> FromColorUnclamped<Luma<St, T>> for Rgb<S, T> where
S: RgbStandard,
St: LumaStandard<WhitePoint = <S::Space as RgbSpace>::WhitePoint>,
T: FloatComponent,
[src]
impl<S, St, T> FromColorUnclamped<Luma<St, T>> for Rgb<S, T> where
S: RgbStandard,
St: LumaStandard<WhitePoint = <S::Space as RgbSpace>::WhitePoint>,
T: FloatComponent,
[src]fn from_color_unclamped(color: Luma<St, T>) -> Self
[src]
impl<S: RgbStandard, T: Component> FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
[src]
impl<S: RgbStandard, T: Component> FromColorUnclamped<Luv<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
[src]fn from_color_unclamped(
color: Luv<<S::Space as RgbSpace>::WhitePoint, T>
) -> Self
[src]
color: Luv<<S::Space as RgbSpace>::WhitePoint, T>
) -> Self
impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hsl<S, T> where
T: FloatComponent,
S: RgbStandard,
[src]
impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hsl<S, T> where
T: FloatComponent,
S: RgbStandard,
[src]fn from_color_unclamped(rgb: Rgb<S, T>) -> Self
[src]
impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hsv<S, T> where
T: FloatComponent,
S: RgbStandard,
[src]
impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hsv<S, T> where
T: FloatComponent,
S: RgbStandard,
[src]fn from_color_unclamped(rgb: Rgb<S, T>) -> Self
[src]
impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
[src]
impl<S, T> FromColorUnclamped<Rgb<S, T>> for Hwb<S, T> where
T: FloatComponent,
S: RgbStandard,
T: FloatComponent,
T: FloatComponent,
[src]fn from_color_unclamped(color: Rgb<S, T>) -> Self
[src]
impl<Wp, T, S> FromColorUnclamped<Rgb<S, T>> for Xyz<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
S: RgbStandard,
S::Space: RgbSpace<WhitePoint = Wp>,
[src]
impl<Wp, T, S> FromColorUnclamped<Rgb<S, T>> for Xyz<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
S: RgbStandard,
S::Space: RgbSpace<WhitePoint = Wp>,
[src]fn from_color_unclamped(color: Rgb<S, T>) -> Self
[src]
impl<S1, S2, T> FromColorUnclamped<Rgb<S2, T>> for Rgb<S1, T> where
S1: RgbStandard,
S2: RgbStandard,
S2::Space: RgbSpace<WhitePoint = <S1::Space as RgbSpace>::WhitePoint>,
T: FloatComponent,
[src]
impl<S1, S2, T> FromColorUnclamped<Rgb<S2, T>> for Rgb<S1, T> where
S1: RgbStandard,
S2: RgbStandard,
S2::Space: RgbSpace<WhitePoint = <S1::Space as RgbSpace>::WhitePoint>,
T: FloatComponent,
[src]fn from_color_unclamped(rgb: Rgb<S2, T>) -> Self
[src]
impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Hsluv<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
[src]
impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Hsluv<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
[src]fn from_color_unclamped(color: Rgb<_S, T>) -> Self
[src]
impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Lab<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
[src]
impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Lab<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
[src]fn from_color_unclamped(color: Rgb<_S, T>) -> Self
[src]
impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Lch<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
[src]
impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Lch<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
[src]fn from_color_unclamped(color: Rgb<_S, T>) -> Self
[src]
impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Lchuv<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
[src]
impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Lchuv<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
[src]fn from_color_unclamped(color: Rgb<_S, T>) -> Self
[src]
impl<S, T, _S> FromColorUnclamped<Rgb<_S, T>> for Luma<S, T> where
T: Component,
S: LumaStandard,
T: FloatComponent,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = S::WhitePoint>,
[src]
impl<S, T, _S> FromColorUnclamped<Rgb<_S, T>> for Luma<S, T> where
T: Component,
S: LumaStandard,
T: FloatComponent,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = S::WhitePoint>,
[src]fn from_color_unclamped(color: Rgb<_S, T>) -> Self
[src]
impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Luv<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
[src]
impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Luv<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
[src]fn from_color_unclamped(color: Rgb<_S, T>) -> Self
[src]
impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Yxy<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
[src]
impl<Wp, T, _S> FromColorUnclamped<Rgb<_S, T>> for Yxy<Wp, T> where
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
Wp: WhitePoint,
T: FloatComponent,
_S: RgbStandard,
_S::Space: RgbSpace<WhitePoint = Wp>,
[src]fn from_color_unclamped(color: Rgb<_S, T>) -> Self
[src]
impl<S, T> FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
S: RgbStandard,
T: FloatComponent,
[src]
impl<S, T> FromColorUnclamped<Xyz<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
S: RgbStandard,
T: FloatComponent,
[src]fn from_color_unclamped(
color: Xyz<<S::Space as RgbSpace>::WhitePoint, T>
) -> Self
[src]
color: Xyz<<S::Space as RgbSpace>::WhitePoint, T>
) -> Self
impl<S: RgbStandard, T: Component> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
[src]
impl<S: RgbStandard, T: Component> FromColorUnclamped<Yxy<<<S as RgbStandard>::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
T: FloatComponent,
T: FloatComponent,
[src]fn from_color_unclamped(
color: Yxy<<S::Space as RgbSpace>::WhitePoint, T>
) -> Self
[src]
color: Yxy<<S::Space as RgbSpace>::WhitePoint, T>
) -> Self
impl<S: RgbStandard> FromStr for Rgb<S, u8>
[src]
impl<S: RgbStandard> FromStr for Rgb<S, u8>
[src]impl<S, T> GetHue for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: FloatComponent,
[src]
impl<S, T> GetHue for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: FloatComponent,
[src]impl<S, T> Mix for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: FloatComponent,
[src]
impl<S, T> Mix for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: FloatComponent,
[src]impl<S, T> Mul<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Mul,
<T as Mul>::Output: Component,
[src]
impl<S, T> Mul<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Mul,
<T as Mul>::Output: Component,
[src]impl<S, T> Mul<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Mul,
<T as Mul>::Output: Component,
[src]
impl<S, T> Mul<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Mul,
<T as Mul>::Output: Component,
[src]impl<S, T> MulAssign<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + MulAssign,
[src]
impl<S, T> MulAssign<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + MulAssign,
[src]fn mul_assign(&mut self, other: Rgb<S, T>)
[src]
impl<S, T> MulAssign<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + MulAssign,
[src]
impl<S, T> MulAssign<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + MulAssign,
[src]fn mul_assign(&mut self, c: T)
[src]
impl<S: RgbStandard, T: Component> Pixel<T> for Rgb<S, T>
[src]
impl<S: RgbStandard, T: Component> Pixel<T> for Rgb<S, T>
[src]const CHANNELS: usize
[src]
fn as_raw<P: RawPixel<T> + ?Sized>(&self) -> &P
[src]
fn as_raw_mut<P: RawPixel<T> + ?Sized>(&mut self) -> &mut P
[src]
fn into_raw<P: RawPixelSized<T>>(self) -> P
[src]
fn from_raw<P: RawPixel<T> + ?Sized>(pixel: &P) -> &Self
[src]
fn from_raw_mut<P: RawPixel<T> + ?Sized>(pixel: &mut P) -> &mut Self
[src]
fn from_raw_slice(slice: &[T]) -> &[Self]
[src]
fn from_raw_slice_mut(slice: &mut [T]) -> &mut [Self]
[src]
fn into_raw_slice(slice: &[Self]) -> &[T]
[src]
fn into_raw_slice_mut(slice: &mut [Self]) -> &mut [T]
[src]
impl<S, T> RelativeContrast for Rgb<S, T> where
T: FloatComponent,
S: RgbStandard,
[src]
impl<S, T> RelativeContrast for Rgb<S, T> where
T: FloatComponent,
S: RgbStandard,
[src]type Scalar = T
The type of the contrast ratio.
fn get_contrast_ratio(&self, other: &Self) -> T
[src]
fn has_min_contrast_text(&self, other: &Self) -> bool
[src]
fn has_min_contrast_large_text(&self, other: &Self) -> bool
[src]
fn has_enhanced_contrast_text(&self, other: &Self) -> bool
[src]
fn has_enhanced_contrast_large_text(&self, other: &Self) -> bool
[src]
fn has_min_contrast_graphics(&self, other: &Self) -> bool
[src]
impl<S, T> RelativeEq<Rgb<S, T>> for Rgb<S, T> where
T: Component + RelativeEq,
T::Epsilon: Copy,
S: RgbStandard + PartialEq,
[src]
impl<S, T> RelativeEq<Rgb<S, T>> for Rgb<S, T> where
T: Component + RelativeEq,
T::Epsilon: Copy,
S: RgbStandard + PartialEq,
[src]fn default_max_relative() -> Self::Epsilon
[src]
fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
pub fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
impl<S, T> Shade for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: FloatComponent,
[src]
impl<S, T> Shade for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: FloatComponent,
[src]impl<S, T> Sub<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Sub,
<T as Sub>::Output: Component,
[src]
impl<S, T> Sub<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Sub,
<T as Sub>::Output: Component,
[src]impl<S, T> Sub<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Sub,
<T as Sub>::Output: Component,
[src]
impl<S, T> Sub<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + Sub,
<T as Sub>::Output: Component,
[src]impl<S, T> SubAssign<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + SubAssign,
[src]
impl<S, T> SubAssign<Rgb<S, T>> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + SubAssign,
[src]fn sub_assign(&mut self, other: Rgb<S, T>)
[src]
impl<S, T> SubAssign<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + SubAssign,
[src]
impl<S, T> SubAssign<T> for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Component + SubAssign,
[src]fn sub_assign(&mut self, c: T)
[src]
impl<S, T> UlpsEq<Rgb<S, T>> for Rgb<S, T> where
T: Component + UlpsEq,
T::Epsilon: Copy,
S: RgbStandard + PartialEq,
[src]
impl<S, T> UlpsEq<Rgb<S, T>> for Rgb<S, T> where
T: Component + UlpsEq,
T::Epsilon: Copy,
S: RgbStandard + PartialEq,
[src]impl<S: RgbStandard, T: Component, _A> WithAlpha<_A> for Rgb<S, T> where
_A: Component,
[src]
impl<S: RgbStandard, T: Component, _A> WithAlpha<_A> for Rgb<S, T> where
_A: Component,
[src]type Color = Self
The opaque color type, without any transparency. Read more
type WithAlpha = Alpha<Self, _A>
The color type with transparency applied. Read more
fn with_alpha(self, alpha: _A) -> Self::WithAlpha
[src]
fn without_alpha(self) -> Self::Color
[src]
fn split(self) -> (Self::Color, _A)
[src]
fn opaque(self) -> Self::WithAlpha
[src]
fn transparent(self) -> Self::WithAlpha
[src]
impl<S: RgbStandard, T: Component> Copy for Rgb<S, T>
[src]
impl<S, T> Eq for Rgb<S, T> where
T: Component + Eq,
S: RgbStandard,
[src]
T: Component + Eq,
S: RgbStandard,
Auto Trait Implementations
impl<S, T> RefUnwindSafe for Rgb<S, T> where
S: RefUnwindSafe,
T: RefUnwindSafe,
S: RefUnwindSafe,
T: RefUnwindSafe,
impl<S, T> Send for Rgb<S, T> where
S: Send,
T: Send,
S: Send,
T: Send,
impl<S, T> Sync for Rgb<S, T> where
S: Sync,
T: Sync,
S: Sync,
T: Sync,
impl<S, T> Unpin for Rgb<S, T> where
S: Unpin,
T: Unpin,
S: Unpin,
T: Unpin,
impl<S, T> UnwindSafe for Rgb<S, T> where
S: UnwindSafe,
T: UnwindSafe,
S: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<S, D, Swp, Dwp, T> AdaptFrom<S, Swp, Dwp, T> for D where
T: FloatComponent,
S: IntoColorUnclamped<Xyz<Swp, T>>,
Swp: WhitePoint,
Dwp: WhitePoint,
D: FromColorUnclamped<Xyz<Dwp, T>>,
[src]
impl<S, D, Swp, Dwp, T> AdaptFrom<S, Swp, Dwp, T> for D where
T: FloatComponent,
S: IntoColorUnclamped<Xyz<Swp, T>>,
Swp: WhitePoint,
Dwp: WhitePoint,
D: FromColorUnclamped<Xyz<Dwp, T>>,
[src]pub fn adapt_from_using<M>(S, M) -> D where
M: TransformMatrix<Swp, Dwp, T>,
[src]
M: TransformMatrix<Swp, Dwp, T>,
fn adapt_from(color: S) -> Self
[src]
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
T: FloatComponent,
Swp: WhitePoint,
Dwp: WhitePoint,
D: AdaptFrom<S, Swp, Dwp, T>,
[src]
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
T: FloatComponent,
Swp: WhitePoint,
Dwp: WhitePoint,
D: AdaptFrom<S, Swp, Dwp, T>,
[src]pub fn adapt_into_using<M>(Self, M) -> D where
M: TransformMatrix<Swp, Dwp, T>,
[src]
M: TransformMatrix<Swp, Dwp, T>,
fn adapt_into(self) -> D
[src]
impl<T, U> FromColor<T> for U where
U: FromColorUnclamped<T> + Clamp,
[src]
impl<T, U> FromColor<T> for U where
U: FromColorUnclamped<T> + Clamp,
[src]pub fn from_color(T) -> U
[src]
impl<T, U> IntoColor<U> for T where
U: FromColor<T>,
[src]
impl<T, U> IntoColor<U> for T where
U: FromColor<T>,
[src]pub fn into_color(Self) -> U
[src]
impl<T, U> IntoColorUnclamped<U> for T where
U: FromColorUnclamped<T>,
[src]
impl<T, U> IntoColorUnclamped<U> for T where
U: FromColorUnclamped<T>,
[src]pub fn into_color_unclamped(Self) -> U
[src]
impl<T, U> TryFromColor<T> for U where
U: FromColorUnclamped<T> + Clamp,
[src]
impl<T, U> TryFromColor<T> for U where
U: FromColorUnclamped<T> + Clamp,
[src]pub fn try_from_color(T) -> Result<U, OutOfBounds<U>>
[src]
impl<T, U> TryIntoColor<U> for T where
U: TryFromColor<T>,
[src]
impl<T, U> TryIntoColor<U> for T where
U: TryFromColor<T>,
[src]