pub enum Color {
Show 30 variants
rgb(ColorChannel, ColorChannel, ColorChannel),
rgba(ColorChannel, ColorChannel, ColorChannel, ColorChannel),
hsl(Rotation, ColorChannel, ColorChannel),
hsla(Rotation, ColorChannel, ColorChannel, ColorChannel),
SLATE,
GRAY,
ZINC,
NEUTRAL,
STONE,
RED,
ORANGE,
AMBER,
YELLOW,
LIME,
GREEN,
EMERALD,
TEAL,
CYAN,
SKY,
BLUE,
INDIGO,
VIOLET,
PURPLE,
FUCHSIA,
PINK,
ROSE,
BLACK,
WHITE,
TRANSPARENT,
NONE,
}Expand description
Entrypoint for specifying and representing colors in Pax.
Variants§
rgb(ColorChannel, ColorChannel, ColorChannel)
Models a color in the RGB space, with an alpha channel of 100%
rgba(ColorChannel, ColorChannel, ColorChannel, ColorChannel)
Models a color in the RGBA space
hsl(Rotation, ColorChannel, ColorChannel)
Models a color in the HSL space, with an alpha channel of 100%
hsla(Rotation, ColorChannel, ColorChannel, ColorChannel)
Models a color in the HSLA space.
SLATE
Cool blue-gray, RGB (100, 116, 139).
GRAY
Balanced gray, RGB (107, 114, 128).
ZINC
Crisp cool gray, RGB (113, 113, 122).
NEUTRAL
Plain neutral gray, RGB (115, 115, 115).
STONE
Warm stone gray, RGB (120, 113, 108).
RED
Bright warm red, RGB (239, 68, 68).
ORANGE
Vivid citrus orange, RGB (249, 115, 22).
AMBER
Golden amber, RGB (245, 158, 11).
YELLOW
Sunny yellow, RGB (234, 179, 8).
LIME
Electric lime, RGB (132, 204, 22).
GREEN
Fresh green, RGB (34, 197, 94).
EMERALD
Jewel emerald, RGB (16, 185, 129).
TEAL
Deep aquatic teal, RGB (20, 184, 166).
CYAN
Bright clean cyan, RGB (6, 182, 212).
SKY
Open sky blue, RGB (14, 165, 233).
BLUE
Saturated primary blue, RGB (59, 130, 246).
INDIGO
Cool electric indigo, RGB (99, 102, 241).
VIOLET
Soft vivid violet, RGB (139, 92, 246).
PURPLE
Rich playful purple, RGB (168, 85, 247).
FUCHSIA
Brilliant magenta fuchsia, RGB (217, 70, 239).
PINK
Bright candy pink, RGB (236, 72, 153).
ROSE
Warm rosy red, RGB (244, 63, 94).
BLACK
Pure black, RGB (0, 0, 0).
WHITE
Pure white, RGB (255, 255, 255).
TRANSPARENT
Fully transparent white, RGB (255, 255, 255).
NONE
Non-rendering transparent, RGB (255, 255, 255).
Implementations§
Source§impl Color
impl Color
Sourcepub fn rgb(r: ColorChannel, g: ColorChannel, b: ColorChannel) -> Self
pub fn rgb(r: ColorChannel, g: ColorChannel, b: ColorChannel) -> Self
Constructs an RGB color with 100% alpha.
Sourcepub fn rgba(
r: ColorChannel,
g: ColorChannel,
b: ColorChannel,
a: ColorChannel,
) -> Self
pub fn rgba( r: ColorChannel, g: ColorChannel, b: ColorChannel, a: ColorChannel, ) -> Self
Constructs an RGBA color.
Sourcepub fn hsl(h: Rotation, s: ColorChannel, l: ColorChannel) -> Self
pub fn hsl(h: Rotation, s: ColorChannel, l: ColorChannel) -> Self
Constructs an HSL color with 100% alpha.
Sourcepub fn hsla(
h: Rotation,
s: ColorChannel,
l: ColorChannel,
a: ColorChannel,
) -> Self
pub fn hsla( h: Rotation, s: ColorChannel, l: ColorChannel, a: ColorChannel, ) -> Self
Constructs an HSLA color.
pub fn to_piet_color(&self) -> Color
Sourcepub fn from_rgba_0_1(rgba_0_1: [f64; 4]) -> Self
pub fn from_rgba_0_1(rgba_0_1: [f64; 4]) -> Self
Constructs a color from normalized RGBA channels in the [0.0, 1.0] range.
Sourcepub fn from_hex(hex: &str) -> Self
pub fn from_hex(hex: &str) -> Self
Constructs a color from a six- or eight-character RGB/RGBA hex string.
Sourcepub fn alpha_0_1(&self) -> f64
pub fn alpha_0_1(&self) -> f64
Returns this color’s alpha channel normalized to the [0.0, 1.0] range.
Sourcepub fn blend_premultiplied(
colors: impl IntoIterator<Item = (Color, f64)>,
) -> Self
pub fn blend_premultiplied( colors: impl IntoIterator<Item = (Color, f64)>, ) -> Self
Adds weighted colors in premultiplied RGBA, then returns straight RGBA. Weights should sum to one. This retains the current RGB encoding; it does not perform a linear-light conversion or blend against a backdrop.
Sourcepub fn with_alpha_factor(&self, factor: f64) -> Self
pub fn with_alpha_factor(&self, factor: f64) -> Self
Multiplies this color’s alpha channel by factor.
Sourcepub fn to_rgba_0_1(&self) -> [f64; 4]
pub fn to_rgba_0_1(&self) -> [f64; 4]
Returns RGBA channels normalized to the [0.0, 1.0] range.
Sourcepub fn to_hsla_0_1(&self) -> [f64; 4]
pub fn to_hsla_0_1(&self) -> [f64; 4]
Returns HSLA channels normalized to the [0.0, 1.0] range.
Trait Implementations§
Source§impl CoercionRules for Color
impl CoercionRules for Color
Source§fn is_identity_roundtrip() -> bool
fn is_identity_roundtrip() -> bool
Self preserves the semantics of converting that clone
through ToPaxValue and back with try_coerce. Read moreSource§fn allows_singleton_stack() -> bool
fn allows_singleton_stack() -> bool
Source§impl<'de> Deserialize<'de> for Color
impl<'de> Deserialize<'de> for Color
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl HelperFunctions for Color
impl HelperFunctions for Color
Source§fn register_all_functions()
fn register_all_functions()
Source§impl Interpolatable for Color
impl Interpolatable for Color
Source§fn interpolate(&self, other: &Self, t: f64) -> Self
fn interpolate(&self, other: &Self, t: f64) -> Self
Source§impl Into<ColorMessage> for &Color
impl Into<ColorMessage> for &Color
Source§fn into(self) -> ColorMessage
fn into(self) -> ColorMessage
Source§impl PartialEq<ColorMessage> for Color
impl PartialEq<ColorMessage> for Color
impl StructuralPartialEq for Color
Source§impl ToPaxValue for Color
impl ToPaxValue for Color
Source§fn to_pax_value(self) -> PaxValue
fn to_pax_value(self) -> PaxValue
PaxValue.Source§fn nested_properties(&self) -> Vec<UntypedProperty>
fn nested_properties(&self) -> Vec<UntypedProperty>
Source§fn to_pax_value_in_graph(self) -> PaxValuewhere
Self: Sized,
fn to_pax_value_in_graph(self) -> PaxValuewhere
Self: Sized,
Self::to_pax_value reads published value snapshots.