Struct rgb::RGBA[][src]

#[repr(C)]
pub struct RGBA<ComponentType, AlphaComponentType = ComponentType> { pub r: ComponentType, pub g: ComponentType, pub b: ComponentType, pub a: AlphaComponentType, }

The RGBA pixel

The component type can be u8 (aliased as RGBA8), u16 (aliased as RGBA16), or any other type (but simple copyable types are recommended.)

You can specify a different type for alpha, but it's only for special cases (e.g. if you use a newtype like RGBA<LinearLight<u16>, u16>).

Fields

Red

Green

Blue

Alpha

Methods

impl<T> RGBA<T>
[src]

impl<T, A> RGBA<T, A>
[src]

impl<T: Clone> RGBA<T>
[src]

Iterate over all components (length=4)

impl<T: Clone, A> RGBA<T, A>
[src]

Copy RGB components out of the RGBA struct

impl<T, A> RGBA<T, A>
[src]

Provide a mutable view of only RGB components (leaving out alpha). Useful to change color without changing opacity.

impl<T: Copy, A: Clone> RGBA<T, A>
[src]

Create new RGBA with the same alpha value, but different RGB values

Trait Implementations

impl<T> FromIterator<T> for RGBA<T>
[src]

Takes exactly 4 elements from the iterator and creates a new instance. Panics if there are fewer elements in the iterator.

impl<T: Copy, B> ComponentMap<RGBA<B>, T, B> for RGBA<T>
[src]

Convenience function (equivalent of self.iter().map().collect()) for applying the same formula to every component. Read more

impl<T> ComponentSlice<T> for RGBA<T>
[src]

The components interpreted as an array, e.g. one RGB expands to 3 elements. Read more

impl<T: Copy> From<RGB<T>> for RGBA<T, u8>
[src]

Assumes 255 is opaque

Performs the conversion.

impl<T: Copy> From<RGB<T>> for RGBA<T, u16>
[src]

Assumes 65535 is opaque

Performs the conversion.

impl<T: Copy> From<BGR<T>> for RGBA<T, u8>
[src]

Assumes 255 is opaque

Performs the conversion.

impl<T: Copy> From<BGR<T>> for RGBA<T, u16>
[src]

Assumes 255 is opaque

Performs the conversion.

impl<T: Display, A: Display> Display for RGBA<T, A>
[src]

Formats the value using the given formatter. Read more

impl<T: Add, A: Add> Add<RGBA<T, A>> for RGBA<T, A>
[src]

px + px

The resulting type after applying the + operator.

Performs the + operation.

impl<T: Sub, A: Sub> Sub<RGBA<T, A>> for RGBA<T, A>
[src]

px - px

The resulting type after applying the - operator.

Performs the - operation.

impl<T: Clone + Copy + Add> Add<T> for RGBA<T> where
    T: Add<Output = T>, 
[src]

px + 1

The resulting type after applying the + operator.

Performs the + operation.

impl<T: Clone + Copy + Mul> Mul<T> for RGBA<T> where
    T: Mul<Output = T>, 
[src]

px * 1

The resulting type after applying the * operator.

Performs the * operation.

impl<T, A> From<(T, T, T, A)> for RGBA<T, A>
[src]

Performs the conversion.

impl<T, A> Into<(T, T, T, A)> for RGBA<T, A>
[src]

Performs the conversion.

impl From<RGBA<u16>> for RGBA<i32>
[src]

Performs the conversion.

impl From<RGBA<u8>> for RGBA<f32>
[src]

Performs the conversion.

impl From<RGBA<u8>> for RGBA<f64>
[src]

Performs the conversion.

impl From<RGBA<u16>> for RGBA<f32>
[src]

Performs the conversion.

impl From<RGBA<u16>> for RGBA<f64>
[src]

Performs the conversion.

impl From<RGBA<i16>> for RGBA<f32>
[src]

Performs the conversion.

impl From<RGBA<i16>> for RGBA<f64>
[src]

Performs the conversion.

impl From<RGBA<i32>> for RGBA<f64>
[src]

Performs the conversion.

impl From<RGBA<f32>> for RGBA<f64>
[src]

Performs the conversion.

impl<T: Clone, A> From<GrayAlpha<T, A>> for RGBA<T, A>
[src]

Performs the conversion.

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

Performs the conversion.

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

Performs the conversion.

impl<T> AsRef<[T]> for RGBA<T>
[src]

Performs the conversion.

impl<T> AsMut<[T]> for RGBA<T>
[src]

Performs the conversion.

impl<ComponentType: Copy, AlphaComponentType: Copy> Copy for RGBA<ComponentType, AlphaComponentType>
[src]

impl<ComponentType: Clone, AlphaComponentType: Clone> Clone for RGBA<ComponentType, AlphaComponentType>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<ComponentType: Debug, AlphaComponentType: Debug> Debug for RGBA<ComponentType, AlphaComponentType>
[src]

Formats the value using the given formatter. Read more

impl<ComponentType: Default, AlphaComponentType: Default> Default for RGBA<ComponentType, AlphaComponentType>
[src]

Returns the "default value" for a type. Read more

impl<ComponentType: Eq, AlphaComponentType: Eq> Eq for RGBA<ComponentType, AlphaComponentType>
[src]

impl<ComponentType: PartialEq, AlphaComponentType: PartialEq> PartialEq for RGBA<ComponentType, AlphaComponentType>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<ComponentType: Ord, AlphaComponentType: Ord> Ord for RGBA<ComponentType, AlphaComponentType>
[src]

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

impl<ComponentType: PartialOrd, AlphaComponentType: PartialOrd> PartialOrd for RGBA<ComponentType, AlphaComponentType>
[src]

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl<ComponentType: Hash, AlphaComponentType: Hash> Hash for RGBA<ComponentType, AlphaComponentType>
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

Auto Trait Implementations

impl<ComponentType, AlphaComponentType> Send for RGBA<ComponentType, AlphaComponentType> where
    AlphaComponentType: Send,
    ComponentType: Send

impl<ComponentType, AlphaComponentType> Sync for RGBA<ComponentType, AlphaComponentType> where
    AlphaComponentType: Sync,
    ComponentType: Sync