Struct tetra::graphics::Color [−][src]
Expand description
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]
impl Color
[src]pub const fn rgb(r: f32, g: f32, b: f32) -> 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]
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]
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]
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]
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]
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 fn with_red(self, r: f32) -> Self
[src]
pub const fn with_red(self, r: f32) -> Self
[src]Returns the color with the red component set to the specified value.
pub const fn with_green(self, g: f32) -> Self
[src]
pub const fn with_green(self, g: f32) -> Self
[src]Returns the color with the green component set to the specified value.
pub const fn with_blue(self, b: f32) -> Self
[src]
pub const fn with_blue(self, b: f32) -> Self
[src]Returns the color with the blue component set to the specified value.
pub const fn with_alpha(self, a: f32) -> Self
[src]
pub const fn with_alpha(self, a: f32) -> Self
[src]Returns the color with the alpha component set to the specified value.
pub fn to_premultiplied(self) -> Color
[src]
pub fn to_premultiplied(self) -> Color
[src]Returns the color with the RGB components multiplied by the alpha component.
This can be useful when working with premultiplied alpha blending, if you want to convert a non-premultiplied color into its premultiplied version.
pub const BLACK: Color
[src]
pub const BLACK: Color
[src]Shortcut for Color::rgb(0.0, 0.0, 0.0)
.
pub const WHITE: Color
[src]
pub const WHITE: Color
[src]Shortcut for Color::rgb(1.0, 1.0, 1.0)
.
pub const RED: Color
[src]
pub const RED: Color
[src]Shortcut for Color::rgb(1.0, 0.0, 0.0)
.
pub const GREEN: Color
[src]
pub const GREEN: Color
[src]Shortcut for Color::rgb(0.0, 1.0, 0.0)
.
Trait Implementations
impl AddAssign<Color> for Color
[src]
impl AddAssign<Color> for Color
[src]fn add_assign(&mut self, rhs: Self)
[src]
fn add_assign(&mut self, rhs: Self)
[src]Performs the +=
operation. Read more
impl AddAssign<f32> for Color
[src]
impl AddAssign<f32> for Color
[src]fn add_assign(&mut self, rhs: f32)
[src]
fn add_assign(&mut self, rhs: f32)
[src]Performs the +=
operation. Read more
impl DivAssign<Color> for Color
[src]
impl DivAssign<Color> for Color
[src]fn div_assign(&mut self, rhs: Self)
[src]
fn div_assign(&mut self, rhs: Self)
[src]Performs the /=
operation. Read more
impl DivAssign<f32> for Color
[src]
impl DivAssign<f32> for Color
[src]fn div_assign(&mut self, rhs: f32)
[src]
fn div_assign(&mut self, rhs: f32)
[src]Performs the /=
operation. Read more
impl MulAssign<Color> for Color
[src]
impl MulAssign<Color> for Color
[src]fn mul_assign(&mut self, rhs: Self)
[src]
fn mul_assign(&mut self, rhs: Self)
[src]Performs the *=
operation. Read more
impl MulAssign<f32> for Color
[src]
impl MulAssign<f32> for Color
[src]fn mul_assign(&mut self, rhs: f32)
[src]
fn mul_assign(&mut self, rhs: f32)
[src]Performs the *=
operation. Read more
impl SubAssign<Color> for Color
[src]
impl SubAssign<Color> for Color
[src]fn sub_assign(&mut self, rhs: Self)
[src]
fn sub_assign(&mut self, rhs: Self)
[src]Performs the -=
operation. Read more
impl SubAssign<f32> for Color
[src]
impl SubAssign<f32> for Color
[src]fn sub_assign(&mut self, rhs: f32)
[src]
fn sub_assign(&mut self, rhs: f32)
[src]Performs the -=
operation. Read more
impl Copy for Color
[src]
impl StructuralPartialEq for Color
[src]
impl UniformValue for Color
[src]
Can be accessed as a vec4
in your shader.
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> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more