Struct sctk_adwaita::theme::Color
source · pub struct Color {
r: NormalizedF32,
g: NormalizedF32,
b: NormalizedF32,
a: NormalizedF32,
}
Expand description
An RGBA color value, holding four floating point components.
§Guarantees
- All values are in 0..=1 range.
Fields§
§r: NormalizedF32
§g: NormalizedF32
§b: NormalizedF32
§a: NormalizedF32
Implementations§
source§impl Color
impl Color
sourcepub const TRANSPARENT: Color = _
pub const TRANSPARENT: Color = _
A transparent color.
sourcepub fn from_rgba(r: f32, g: f32, b: f32, a: f32) -> Option<Color>
pub fn from_rgba(r: f32, g: f32, b: f32, a: f32) -> Option<Color>
Creates a new color from 4 components.
All values must be in 0..=1 range.
sourcepub fn from_rgba8(r: u8, g: u8, b: u8, a: u8) -> Color
pub fn from_rgba8(r: u8, g: u8, b: u8, a: u8) -> Color
Creates a new color from 4 components.
u8 will be divided by 255 to get the float component.
sourcepub fn red(&self) -> f32
pub fn red(&self) -> f32
Returns color’s red component.
The value is guarantee to be in a 0..=1 range.
sourcepub fn green(&self) -> f32
pub fn green(&self) -> f32
Returns color’s green component.
The value is guarantee to be in a 0..=1 range.
sourcepub fn blue(&self) -> f32
pub fn blue(&self) -> f32
Returns color’s blue component.
The value is guarantee to be in a 0..=1 range.
sourcepub fn alpha(&self) -> f32
pub fn alpha(&self) -> f32
Returns color’s alpha component.
The value is guarantee to be in a 0..=1 range.
sourcepub fn set_red(&mut self, c: f32)
pub fn set_red(&mut self, c: f32)
Sets the red component value.
The new value will be clipped to the 0..=1 range.
sourcepub fn set_green(&mut self, c: f32)
pub fn set_green(&mut self, c: f32)
Sets the green component value.
The new value will be clipped to the 0..=1 range.
sourcepub fn set_blue(&mut self, c: f32)
pub fn set_blue(&mut self, c: f32)
Sets the blue component value.
The new value will be clipped to the 0..=1 range.
sourcepub fn set_alpha(&mut self, c: f32)
pub fn set_alpha(&mut self, c: f32)
Sets the alpha component value.
The new value will be clipped to the 0..=1 range.
sourcepub fn apply_opacity(&mut self, opacity: f32)
pub fn apply_opacity(&mut self, opacity: f32)
Shifts color’s opacity.
Essentially, multiplies color’s alpha by opacity.
opacity
will be clamped to the 0..=1 range first.
The final alpha will also be clamped.
sourcepub fn premultiply(&self) -> PremultipliedColor
pub fn premultiply(&self) -> PremultipliedColor
Converts into a premultiplied color.
sourcepub fn to_color_u8(&self) -> ColorU8
pub fn to_color_u8(&self) -> ColorU8
Converts into ColorU8
.
Trait Implementations§
impl Copy for Color
impl StructuralPartialEq for Color
Auto Trait Implementations§
impl Freeze for Color
impl RefUnwindSafe for Color
impl Send for Color
impl Sync for Color
impl Unpin for Color
impl UnwindSafe for Color
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.