pub struct Rgba8 {
pub r: u8,
pub g: u8,
pub b: u8,
pub a: u8,
}Expand description
A simple 8-bit RGBA color.
§Examples
use truss::Rgba8;
// Parse a 6-digit hex color (fully opaque)
let red = Rgba8::from_hex("ff0000").unwrap();
assert_eq!(red, Rgba8 { r: 255, g: 0, b: 0, a: 255 });
// Parse an 8-digit hex color with alpha
let semi = Rgba8::from_hex("00ff0080").unwrap();
assert_eq!(semi, Rgba8 { r: 0, g: 255, b: 0, a: 128 });
// Invalid input is rejected
assert!(Rgba8::from_hex("xyz").is_err());Fields§
§r: u8Red channel.
g: u8Green channel.
b: u8Blue channel.
a: u8Alpha channel.
Implementations§
Source§impl Rgba8
impl Rgba8
Sourcepub fn from_hex(value: &str) -> Result<Self, String>
pub fn from_hex(value: &str) -> Result<Self, String>
Parses a hexadecimal RGB or RGBA color string without a leading #.
Every rejection reads the same sentence, which names the shape truss accepts rather
than repeating the value back. #ffffff is the spelling a caller reaches for first,
since CSS, HTML, and every colour picker use it, and unsupported color \#ffffff``
gave them nothing to correct. Naming the rule is what every other option here does.
Trait Implementations§
impl Copy for Rgba8
impl Eq for Rgba8
impl StructuralPartialEq for Rgba8
Auto Trait Implementations§
impl Freeze for Rgba8
impl RefUnwindSafe for Rgba8
impl Send for Rgba8
impl Sync for Rgba8
impl Unpin for Rgba8
impl UnsafeUnpin for Rgba8
impl UnwindSafe for Rgba8
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more