[−][src]Enum piet::Color
A datatype representing color.
Currently this is only a 32 bit RGBA value, but it will likely extend to some form of wide-gamut colorspace, and in the meantime is useful for giving programs proper type.
Variants
Rgba32(u32)
Implementations
impl Color
[src]
pub const fn rgb8(r: u8, g: u8, b: u8) -> Color
[src]
Create a color from 8 bit per sample RGB values.
pub const fn rgba8(r: u8, g: u8, b: u8, a: u8) -> Color
[src]
Create a color from 8 bit per sample RGBA values.
pub const fn from_rgba32_u32(rgba: u32) -> Color
[src]
Create a color from a 32-bit rgba value (alpha as least significant byte).
pub const fn grey8(grey: u8) -> Color
[src]
Create a color from a grey value.
use piet::Color; let grey_val = 0x55; let one = Color::grey8(grey_val); // is shorthand for let two = Color::rgb8(grey_val, grey_val, grey_val); assert_eq!(one.as_rgba_u32(), two.as_rgba_u32());
pub fn grey(grey: impl Into<f64>) -> Color
[src]
Create a color with a grey value in the range 0.0..=1.0.
pub fn rgba<F: Into<f64>>(r: F, g: F, b: F, a: F) -> Color
[src]
Create a color from four floating point values, each in the range 0.0 to 1.0.
The interpretation is the same as rgba32, and no greater precision is (currently) assumed.
pub fn rgb<F: Into<f64>>(r: F, g: F, b: F) -> Color
[src]
Create a color from three floating point values, each in the range 0.0 to 1.0.
The interpretation is the same as rgb8, and no greater precision is (currently) assumed.
pub fn hlc<F: Into<f64>>(h: F, l: F, c: F) -> Color
[src]
Create a color from a CIEL*a*b* polar (also known as CIE HCL) specification.
The h
parameter is an angle in degrees, with 0 roughly magenta, 90
roughly yellow, 180 roughly cyan, and 270 roughly blue. The l
parameter is perceptual luminance, with 0 black and 100 white.
The c
parameter is a chrominance concentration, with 0 grayscale
and a nominal maximum of 127 (in the future, higher values might
be useful, for high gamut contexts).
Currently this is just converted into sRGB, but in the future as we support high-gamut colorspaces, it can be used to specify more colors or existing colors with a higher accuracy.
Currently out-of-gamut values are clipped to the nearest sRGB color, which is perhaps not ideal (the clipping might change the hue). See https://github.com/d3/d3-color/issues/33 for discussion.
pub fn hlca<F: Into<f64>>(h: F, l: F, c: F, a: impl Into<f64>) -> Color
[src]
Create a color from a CIEL*a*b* polar specification and alpha.
The a
value represents alpha in the range 0.0 to 1.0.
pub fn with_alpha(self, a: impl Into<f64>) -> Color
[src]
Change just the alpha value of a color.
The a
value represents alpha in the range 0.0 to 1.0.
pub fn as_rgba_u32(&self) -> u32
[src]
Convert a color value to a 32-bit rgba value.
pub fn as_rgba8(&self) -> (u8, u8, u8, u8)
[src]
Convert a color value to four 8-bit rgba values.
pub fn as_rgba(&self) -> (f64, f64, f64, f64)
[src]
Convert a color value to four f64 values, each in the range 0.0 to 1.0.
pub const WHITE: Color
[src]
Opaque white.
pub const BLACK: Color
[src]
Opaque black.
Trait Implementations
impl Clone for Color
[src]
impl Debug for Color
[src]
impl From<Color> for PaintBrush
[src]
fn from(src: Color) -> PaintBrush
[src]
impl<P: RenderContext> IntoBrush<P> for Color
[src]
Auto Trait Implementations
impl RefUnwindSafe for Color
impl Send for Color
impl Sync for Color
impl Unpin for Color
impl UnwindSafe for Color
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>,