Struct palette::Alpha
[−]
[src]
pub struct Alpha<C, T: Float> { pub color: C, pub alpha: T, }
An alpha component wrapper for colors.
Fields
color: C
The color.
alpha: T
The transparency component. 0.0 is fully transparent and 1.0 is fully opaque.
Methods
impl<T: Float> Alpha<Rgb<T>, T>
[src]
Rgba
implementations.
fn new(red: T, green: T, blue: T, alpha: T) -> Rgba<T>
Linear RGB with transparency.
fn new_u8(red: u8, green: u8, blue: u8, alpha: u8) -> Rgba<T>
Linear RGB with transparency from 8 bit values.
fn from_pixel<P: RgbPixel<T>>(pixel: &P) -> Rgba<T>
Linear RGB from a linear pixel value.
fn to_pixel<P: RgbPixel<T>>(&self) -> P
Convert to a linear RGB pixel. Rgb
is already assumed to be linear,
so the components will just be clamped to [0.0, 1.0] before conversion.
use palette::Rgba; let c = Rgba::new(0.5, 0.3, 0.1, 0.5); assert_eq!((c.red, c.green, c.blue, c.alpha), c.to_pixel()); assert_eq!((0.5, 0.3, 0.1, 0.5), c.to_pixel());
impl<T: Float> Alpha<Luma<T>, T>
[src]
Lumaa
implementations.
fn new(luma: T, alpha: T) -> Lumaa<T>
Linear luminance with transparency.
fn new_u8(luma: u8, alpha: u8) -> Lumaa<T>
Linear luminance and transparency from 8 bit values.
impl<T: Float> Alpha<Xyz<T>, T>
[src]
Xyza
implementations.
impl<T: Float> Alpha<Lab<T>, T>
[src]
Laba
implementations.
impl<T: Float> Alpha<Lch<T>, T>
[src]
Lcha
implementations.
impl<T: Float> Alpha<Hsv<T>, T>
[src]
Hsva
implementations.
impl<T: Float> Alpha<Hsl<T>, T>
[src]
Hsla
implementations.
fn new(hue: RgbHue<T>, saturation: T, lightness: T, alpha: T) -> Hsla<T>
Linear HSL and transparency.
impl<T: Float> Alpha<Color<T>, T>
[src]
Colora
implementations.
fn y(luma: T, alpha: T) -> Colora<T>
Linear luminance.
fn y_u8(luma: u8, alpha: u8) -> Colora<T>
Linear luminance from an 8 bit value.
fn rgb(red: T, green: T, blue: T, alpha: T) -> Colora<T>
Linear RGB.
fn rgb_u8(red: u8, green: u8, blue: u8, alpha: u8) -> Colora<T>
Linear RGB from 8 bit values.
fn xyz(x: T, y: T, z: T, alpha: T) -> Colora<T>
CIE XYZ.
fn lab(l: T, a: T, b: T, alpha: T) -> Colora<T>
CIE L*a*b*.
fn lch(l: T, chroma: T, hue: LabHue<T>, alpha: T) -> Colora<T>
CIE L*C*h°.
fn hsv(hue: RgbHue<T>, saturation: T, value: T, alpha: T) -> Colora<T>
Linear HSV.
fn hsl(hue: RgbHue<T>, saturation: T, lightness: T, alpha: T) -> Colora<T>
Linear HSL.
Trait Implementations
impl<C: PartialEq, T: PartialEq + Float> PartialEq for Alpha<C, T>
[src]
fn eq(&self, __arg_0: &Alpha<C, T>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Alpha<C, T>) -> bool
This method tests for !=
.
impl<C: Debug, T: Debug + Float> Debug for Alpha<C, T>
[src]
impl<C: Copy, T: Copy + Float> Copy for Alpha<C, T>
[src]
impl<C: Clone, T: Clone + Float> Clone for Alpha<C, T>
[src]
fn clone(&self) -> Alpha<C, T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<C, T: Float> Deref for Alpha<C, T>
[src]
type Target = C
The resulting type after dereferencing
fn deref(&self) -> &C
The method called to dereference a value
impl<C, T: Float> DerefMut for Alpha<C, T>
[src]
fn deref_mut(&mut self) -> &mut C
The method called to mutably dereference a value
impl<C: Mix> Mix for Alpha<C, C::Scalar>
[src]
type Scalar = C::Scalar
The type of the mixing factor.
fn mix(&self, other: &Alpha<C, C::Scalar>, factor: C::Scalar) -> Alpha<C, C::Scalar>
Mix the color with an other color, by factor
. Read more
impl<C: Shade> Shade for Alpha<C, C::Scalar>
[src]
type Scalar = C::Scalar
The type of the lighten/darken amount.
fn lighten(&self, amount: C::Scalar) -> Alpha<C, C::Scalar>
Lighten the color by amount
.
fn darken(&self, amount: Self::Scalar) -> Self
Darken the color by amount
.
impl<C: GetHue, T: Float> GetHue for Alpha<C, T>
[src]
type Hue = C::Hue
The kind of hue unit this color space uses. Read more
fn get_hue(&self) -> Option<C::Hue>
Calculate a hue if possible. Read more
impl<C: Hue, T: Float> Hue for Alpha<C, T>
[src]
fn with_hue(&self, hue: C::Hue) -> Alpha<C, T>
Return a new copy of self
, but with a specific hue.
fn shift_hue(&self, amount: C::Hue) -> Alpha<C, T>
Return a new copy of self
, but with the hue shifted by amount
.
impl<C: Saturate> Saturate for Alpha<C, C::Scalar>
[src]
type Scalar = C::Scalar
The type of the (de)saturation factor.
fn saturate(&self, factor: C::Scalar) -> Alpha<C, C::Scalar>
Increase the saturation by factor
.
fn desaturate(&self, factor: Self::Scalar) -> Self
Decrease the saturation by factor
.
impl<C: Limited, T: Float> Limited for Alpha<C, T>
[src]
fn is_valid(&self) -> bool
Check if the color's components are within the expected ranges.
fn clamp(&self) -> Alpha<C, T>
Return a new color where the components has been clamped to the nearest valid values. Read more
fn clamp_self(&mut self)
Clamp the color's components to the nearest valid values.
impl<C: Default, T: Float> Default for Alpha<C, T>
[src]
impl<C: Add, T: Float> Add for Alpha<C, T>
[src]
type Output = Alpha<C::Output, T>
The resulting type after applying the +
operator
fn add(self, other: Alpha<C, T>) -> Alpha<C::Output, T>
The method for the +
operator
impl<T: Float + Clone, C: Add<T>> Add<T> for Alpha<C, T>
[src]
type Output = Alpha<C::Output, T>
The resulting type after applying the +
operator
fn add(self, c: T) -> Alpha<C::Output, T>
The method for the +
operator
impl<C: Sub, T: Float> Sub for Alpha<C, T>
[src]
type Output = Alpha<C::Output, T>
The resulting type after applying the -
operator
fn sub(self, other: Alpha<C, T>) -> Alpha<C::Output, T>
The method for the -
operator
impl<T: Float + Clone, C: Sub<T>> Sub<T> for Alpha<C, T>
[src]
type Output = Alpha<C::Output, T>
The resulting type after applying the -
operator
fn sub(self, c: T) -> Alpha<C::Output, T>
The method for the -
operator
impl<C: Mul, T: Float> Mul for Alpha<C, T>
[src]
type Output = Alpha<C::Output, T>
The resulting type after applying the *
operator
fn mul(self, other: Alpha<C, T>) -> Alpha<C::Output, T>
The method for the *
operator
impl<T: Float + Clone, C: Mul<T>> Mul<T> for Alpha<C, T>
[src]
type Output = Alpha<C::Output, T>
The resulting type after applying the *
operator
fn mul(self, c: T) -> Alpha<C::Output, T>
The method for the *
operator
impl<C: Div, T: Float> Div for Alpha<C, T>
[src]
type Output = Alpha<C::Output, T>
The resulting type after applying the /
operator
fn div(self, other: Alpha<C, T>) -> Alpha<C::Output, T>
The method for the /
operator
impl<T: Float + Clone, C: Div<T>> Div<T> for Alpha<C, T>
[src]
type Output = Alpha<C::Output, T>
The resulting type after applying the /
operator
fn div(self, c: T) -> Alpha<C::Output, T>
The method for the /
operator