[−][src]Struct prisma::color_space::EncodedColorSpace
A color space that also contains an encoding for device-dependent colors
Implementations
impl<T, E> EncodedColorSpace<T, E> where
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
[src]
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
pub fn new(
red: RgbPrimary<T>,
green: RgbPrimary<T>,
blue: RgbPrimary<T>,
white_point: Xyz<T>,
encoding: E
) -> Self
[src]
red: RgbPrimary<T>,
green: RgbPrimary<T>,
blue: RgbPrimary<T>,
white_point: Xyz<T>,
encoding: E
) -> Self
Construct a new EncodedColorSpace
from primaries, a white point and an encoding
pub fn new_with_transforms(
red: RgbPrimary<T>,
green: RgbPrimary<T>,
blue: RgbPrimary<T>,
white_point: Xyz<T>,
encoding: E,
xyz_transform: Matrix3<T>,
inv_transform: Matrix3<T>
) -> Self
[src]
red: RgbPrimary<T>,
green: RgbPrimary<T>,
blue: RgbPrimary<T>,
white_point: Xyz<T>,
encoding: E,
xyz_transform: Matrix3<T>,
inv_transform: Matrix3<T>
) -> Self
Construct a new EncodedColorSpace
from primaries, a white point and an encoding as well as transformation matrices
This does not verify the correctness of the transformation matricies, so only use it if you are positive. Provided as a potential optimization to skip the building step.
pub fn encoding(&self) -> &E
[src]
Returns a reference to the EncodedColorSpace
's encoding
pub fn with_encoding<EOut>(&self, encoding: EOut) -> EncodedColorSpace<T, EOut>
[src]
Returns a copy of this EncodedColorSpace
with a different encoding
impl<T> EncodedColorSpace<T, LinearEncoding> where
T: Float + FreeChannelScalar + PosNormalChannelScalar,
[src]
T: Float + FreeChannelScalar + PosNormalChannelScalar,
pub fn new_linear_color_space(
red: RgbPrimary<T>,
green: RgbPrimary<T>,
blue: RgbPrimary<T>,
white_point: Xyz<T>
) -> EncodedColorSpace<T, LinearEncoding>
[src]
red: RgbPrimary<T>,
green: RgbPrimary<T>,
blue: RgbPrimary<T>,
white_point: Xyz<T>
) -> EncodedColorSpace<T, LinearEncoding>
Construct a new linear color space
Trait Implementations
impl<T, E> ChannelDecoder for EncodedColorSpace<T, E> where
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
[src]
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
fn decode_channel<U>(&self, val: U) -> U where
U: Float,
[src]
U: Float,
impl<'a, T, E> ChannelDecoder for &'a EncodedColorSpace<T, E> where
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
[src]
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
fn decode_channel<U>(&self, val: U) -> U where
U: Float,
[src]
U: Float,
impl<'a, T, E> ChannelDecoder for &'a mut EncodedColorSpace<T, E> where
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
[src]
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
fn decode_channel<U>(&self, val: U) -> U where
U: Float,
[src]
U: Float,
impl<T, E> ChannelEncoder for EncodedColorSpace<T, E> where
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
[src]
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
fn encode_channel<U>(&self, val: U) -> U where
U: Float,
[src]
U: Float,
impl<'a, T, E> ChannelEncoder for &'a EncodedColorSpace<T, E> where
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
[src]
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
fn encode_channel<U>(&self, val: U) -> U where
U: Float,
[src]
U: Float,
impl<'a, T, E> ChannelEncoder for &'a mut EncodedColorSpace<T, E> where
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
[src]
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
fn encode_channel<U>(&self, val: U) -> U where
U: Float,
[src]
U: Float,
impl<T: Clone, E: Clone> Clone for EncodedColorSpace<T, E>
[src]
fn clone(&self) -> EncodedColorSpace<T, E>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T, E> ColorEncoding for EncodedColorSpace<T, E> where
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
[src]
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
impl<'a, T, E> ColorEncoding for &'a EncodedColorSpace<T, E> where
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
[src]
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
impl<T, E> ColorSpace<T> for EncodedColorSpace<T, E> where
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
[src]
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
type Encoding = E
The standard encoding used by this color space
fn red_primary(&self) -> RgbPrimary<T>
[src]
fn green_primary(&self) -> RgbPrimary<T>
[src]
fn blue_primary(&self) -> RgbPrimary<T>
[src]
fn white_point(&self) -> Xyz<T>
[src]
fn encoding(&self) -> Self::Encoding
[src]
fn get_xyz_transform(&self) -> Matrix3<T>
[src]
fn get_inverse_xyz_transform(&self) -> Matrix3<T>
[src]
fn apply_transform(&self, vec: (T, T, T)) -> (T, T, T)
[src]
impl<'a, T, E> ColorSpace<T> for &'a EncodedColorSpace<T, E> where
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
[src]
T: Float + FreeChannelScalar + PosNormalChannelScalar,
E: ColorEncoding,
type Encoding = E
The standard encoding used by this color space
fn red_primary(&self) -> RgbPrimary<T>
[src]
fn green_primary(&self) -> RgbPrimary<T>
[src]
fn blue_primary(&self) -> RgbPrimary<T>
[src]
fn white_point(&self) -> Xyz<T>
[src]
fn encoding(&self) -> Self::Encoding
[src]
fn get_xyz_transform(&self) -> Matrix3<T>
[src]
fn get_inverse_xyz_transform(&self) -> Matrix3<T>
[src]
fn apply_transform(&self, vec: (T, T, T)) -> (T, T, T)
[src]
impl<T, E> ConvertFromXyz<T, Xyz<T>> for EncodedColorSpace<T, E> where
T: PosNormalChannelScalar + FreeChannelScalar + ChannelFormatCast<f64>,
f64: ChannelFormatCast<T>,
E: ColorEncoding + PartialEq + Clone,
[src]
T: PosNormalChannelScalar + FreeChannelScalar + ChannelFormatCast<f64>,
f64: ChannelFormatCast<T>,
E: ColorEncoding + PartialEq + Clone,
type OutputColor = Rgb<T>
The color type converted to.
fn convert_from_xyz_raw(&self, color: &Xyz<T>) -> Rgb<T>
[src]
fn convert_from_xyz(
&self,
color: &In
) -> SpacedColor<T, Self::OutputColor, Self::Encoding, Self>
[src]
&self,
color: &In
) -> SpacedColor<T, Self::OutputColor, Self::Encoding, Self>
fn convert_from_xyz_linear(
&self,
color: &In
) -> SpacedColor<T, Self::OutputColor, LinearEncoding, Self>
[src]
&self,
color: &In
) -> SpacedColor<T, Self::OutputColor, LinearEncoding, Self>
impl<T, E, EIn> ConvertToXyz<T, Alpha<T, Rgb<T>>, EIn> for EncodedColorSpace<T, E> where
T: PosNormalChannelScalar + FreeChannelScalar + Float + ChannelFormatCast<f64>,
f64: ChannelFormatCast<T>,
E: ColorEncoding + PartialEq,
EIn: ColorEncoding + PartialEq,
[src]
T: PosNormalChannelScalar + FreeChannelScalar + Float + ChannelFormatCast<f64>,
f64: ChannelFormatCast<T>,
E: ColorEncoding + PartialEq,
EIn: ColorEncoding + PartialEq,
type OutputColor = Xyza<T>
The type to output. Always some form of Xyz
fn convert_to_xyz(
&self,
color: &EncodedColor<Rgba<T>, EIn>
) -> Self::OutputColor
[src]
&self,
color: &EncodedColor<Rgba<T>, EIn>
) -> Self::OutputColor
impl<'a, T, E, EIn> ConvertToXyz<T, Alpha<T, Rgb<T>>, EIn> for &'a EncodedColorSpace<T, E> where
T: PosNormalChannelScalar + FreeChannelScalar + Float + ChannelFormatCast<f64>,
f64: ChannelFormatCast<T>,
E: ColorEncoding + PartialEq,
EIn: ColorEncoding + PartialEq,
[src]
T: PosNormalChannelScalar + FreeChannelScalar + Float + ChannelFormatCast<f64>,
f64: ChannelFormatCast<T>,
E: ColorEncoding + PartialEq,
EIn: ColorEncoding + PartialEq,
type OutputColor = Xyza<T>
The type to output. Always some form of Xyz
fn convert_to_xyz(
&self,
color: &EncodedColor<Rgba<T>, EIn>
) -> Self::OutputColor
[src]
&self,
color: &EncodedColor<Rgba<T>, EIn>
) -> Self::OutputColor
impl<T, E, EIn> ConvertToXyz<T, Rgb<T>, EIn> for EncodedColorSpace<T, E> where
T: PosNormalChannelScalar + FreeChannelScalar + Float + ChannelFormatCast<f64>,
f64: ChannelFormatCast<T>,
E: ColorEncoding + PartialEq,
EIn: ColorEncoding + PartialEq,
[src]
T: PosNormalChannelScalar + FreeChannelScalar + Float + ChannelFormatCast<f64>,
f64: ChannelFormatCast<T>,
E: ColorEncoding + PartialEq,
EIn: ColorEncoding + PartialEq,
type OutputColor = Xyz<T>
The type to output. Always some form of Xyz
fn convert_to_xyz(&self, color: &EncodedColor<Rgb<T>, EIn>) -> Self::OutputColor
[src]
impl<'a, T, E, EIn> ConvertToXyz<T, Rgb<T>, EIn> for &'a EncodedColorSpace<T, E> where
T: PosNormalChannelScalar + FreeChannelScalar + Float + ChannelFormatCast<f64>,
f64: ChannelFormatCast<T>,
E: ColorEncoding + PartialEq,
EIn: ColorEncoding + PartialEq,
[src]
T: PosNormalChannelScalar + FreeChannelScalar + Float + ChannelFormatCast<f64>,
f64: ChannelFormatCast<T>,
E: ColorEncoding + PartialEq,
EIn: ColorEncoding + PartialEq,
type OutputColor = Xyz<T>
The type to output. Always some form of Xyz
fn convert_to_xyz(&self, color: &EncodedColor<Rgb<T>, EIn>) -> Self::OutputColor
[src]
impl<T: Debug, E: Debug> Debug for EncodedColorSpace<T, E>
[src]
impl<T: PartialEq, E: PartialEq> PartialEq<EncodedColorSpace<T, E>> for EncodedColorSpace<T, E>
[src]
fn eq(&self, other: &EncodedColorSpace<T, E>) -> bool
[src]
fn ne(&self, other: &EncodedColorSpace<T, E>) -> bool
[src]
impl<T, E> StructuralPartialEq for EncodedColorSpace<T, E>
[src]
Auto Trait Implementations
impl<T, E> RefUnwindSafe for EncodedColorSpace<T, E> where
E: RefUnwindSafe,
T: RefUnwindSafe,
E: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, E> Send for EncodedColorSpace<T, E> where
E: Send,
T: Send,
E: Send,
T: Send,
impl<T, E> Sync for EncodedColorSpace<T, E> where
E: Sync,
T: Sync,
E: Sync,
T: Sync,
impl<T, E> Unpin for EncodedColorSpace<T, E> where
E: Unpin,
T: Unpin,
E: Unpin,
T: Unpin,
impl<T, E> UnwindSafe for EncodedColorSpace<T, E> where
E: UnwindSafe,
T: UnwindSafe,
E: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,