[][src]Struct tetra::graphics::Color

pub struct Color {
    pub r: f32,
    pub g: f32,
    pub b: f32,
    pub a: f32,
}

An RGBA color.

The components are stored as f32 values in the range of 0.0 to 1.0. If your data is made up of bytes or hex values, this type provides constructors that will carry out the conversion for you.

The std arithmetic traits are implemented for this type, which allows you to add/subtract/multiply/divide colors. These are implemented as saturating operations (i.e. the values will always remain between 0.0 and 1.0).

Serde

Serialization and deserialization of this type (via Serde) can be enabled via the serde_support feature.

Fields

r: f32

The red component of the color.

g: f32

The green component of the color.

b: f32

The blue component of the color.

a: f32

The alpha component of the color.

Implementations

impl Color[src]

pub const fn rgb(r: f32, g: f32, b: f32) -> Color[src]

Creates a new Color, with the specified RGB values and the alpha set to 1.0.

pub const fn rgba(r: f32, g: f32, b: f32, a: f32) -> Color[src]

Creates a new Color, with the specified RGBA values.

pub fn rgb8(r: u8, g: u8, b: u8) -> Color[src]

Creates a new Color, with the specified RGB integer (0-255) values and the alpha set to 255.

pub fn rgba8(r: u8, g: u8, b: u8, a: u8) -> Color[src]

Creates a new Color, with the specified RGBA (0-255) integer values.

pub fn hex(hex: &str) -> Color[src]

Creates a new Color using a hexidecimal color code, panicking if the input is invalid.

Six and eight digit codes can be used - the former will be interpreted as RGB, and the latter as RGBA. The # prefix (commonly used on the web) will be stripped if present.

pub fn try_hex(hex: &str) -> Result<Color>[src]

Creates a new Color using a hexidecimal color code, returning an error if the input is invalid.

Six and eight digit codes can be used - the former will be interpreted as RGB, and the latter as RGBA. The # prefix (commonly used on the web) will be stripped if present.

Errors

  • TetraError::InvalidColor will be returned if the specified color is invalid.

pub const BLACK: Color[src]

Shortcut for Color::rgb(0.0, 0.0, 0.0).

pub const WHITE: Color[src]

Shortcut for Color::rgb(1.0, 1.0, 1.0).

pub const RED: Color[src]

Shortcut for Color::rgb(1.0, 0.0, 0.0).

pub const GREEN: Color[src]

Shortcut for Color::rgb(0.0, 1.0, 0.0).

pub const BLUE: Color[src]

Shortcut for Color::rgb(0.0, 0.0, 1.0).

Trait Implementations

impl Add<Color> for Color[src]

type Output = Color

The resulting type after applying the + operator.

impl AddAssign<Color> for Color[src]

impl Clone for Color[src]

impl Copy for Color[src]

impl Debug for Color[src]

impl Div<Color> for Color[src]

type Output = Color

The resulting type after applying the / operator.

impl DivAssign<Color> for Color[src]

impl Mul<Color> for Color[src]

type Output = Color

The resulting type after applying the * operator.

impl MulAssign<Color> for Color[src]

impl PartialEq<Color> for Color[src]

impl StructuralPartialEq for Color[src]

impl Sub<Color> for Color[src]

type Output = Color

The resulting type after applying the - operator.

impl SubAssign<Color> 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> SetParameter for T

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

type Owned = T

The resulting type after obtaining ownership.

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.