Struct sixtyfps_corelib::Color[][src]

#[repr(C)]
pub struct Color { /* fields omitted */ }

Color represents a color in the SixtyFPS run-time, represented using 8-bit channels for red, green, blue and the alpha (opacity). It can be conveniently constructed and destructured using the to_ and from_ (a)rgb helper functions:

let col = some_color.to_argb_f32();
do_something_with_red_and_green(col.red, col.green);

let RgbaColor { red, blue, green, .. } = some_color.to_argb_u8();
do_something_with_red(red);

let new_col = Color::from(RgbaColor{ red: 0.5, green: 0.65, blue: 0.32, alpha: 1.});

Implementations

impl Color[src]

pub const fn from_argb_encoded(encoded: u32) -> Color[src]

Construct a color from an integer encoded as 0xAARRGGBB

pub fn as_argb_encoded(&self) -> u32[src]

Returns (alpha, red, green, blue) encoded as u32

pub fn from_argb_u8(alpha: u8, red: u8, green: u8, blue: u8) -> Self[src]

Construct a color from the alpha, red, green and blue color channel parameters.

pub fn from_rgb_u8(red: u8, green: u8, blue: u8) -> Self[src]

Construct a color from the red, green and blue color channel parameters. The alpha channel will have the value 255.

pub fn from_argb_f32(alpha: f32, red: f32, green: f32, blue: f32) -> Self[src]

Construct a color from the alpha, red, green and blue color channel parameters.

pub fn from_rgb_f32(red: f32, green: f32, blue: f32) -> Self[src]

Construct a color from the red, green and blue color channel parameters. The alpha channel will have the value 255.

pub fn to_argb_u8(&self) -> RgbaColor<u8>[src]

Converts this color to an RgbaColor struct for easy destructuring.

pub fn to_argb_f32(&self) -> RgbaColor<f32>[src]

Converts this color to an RgbaColor struct for easy destructuring.

pub fn red(self) -> u8[src]

Returns the red channel of the color as u8 in the range 0..255.

pub fn green(self) -> u8[src]

Returns the green channel of the color as u8 in the range 0..255.

pub fn blue(self) -> u8[src]

Returns the blue channel of the color as u8 in the range 0..255.

pub fn alpha(self) -> u8[src]

Returns the alpha channel of the color as u8 in the range 0..255.

pub fn brighter(&self, factor: f32) -> Self[src]

Returns a new version of this color that has the brightness increased by the specified factor. This is done by converting the color to the HSV color space and multiplying the brightness (value) with (1 + factor). The result is converted back to RGB and the alpha channel is unchanged. So for example brighter(0.2) will increase the brightness by 20%, and calling brighter(-0.5) will return a color that’s 50% darker.

pub fn darker(&self, factor: f32) -> Self[src]

Returns a new version of this color that has the brightness decreased by the specified factor. This is done by converting the color to the HSV color space and dividing the brightness (value) by (1 + factor). The result is converted back to RGB and the alpha channel is unchanged. So for example darker(0.3) will decrease the brightness by 30%.

Trait Implementations

impl Clone for Color[src]

impl Copy for Color[src]

impl Debug for Color[src]

impl Default for Color[src]

impl Display for Color[src]

impl From<Color> for RgbaColor<u8>[src]

impl From<Color> for RgbaColor<f32>[src]

impl From<Color> for Brush[src]

impl From<RgbaColor<f32>> for Color[src]

impl From<RgbaColor<u8>> for Color[src]

impl InterpolatedPropertyValue for Color[src]

impl PartialEq<Color> for Color[src]

impl StructuralPartialEq 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]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.