Merge branch 'master' into beacon
This commit is contained in:
commit
3f67044977
62 changed files with 713 additions and 780 deletions
|
|
@ -45,7 +45,7 @@ pub enum Message {
|
|||
impl ColorPalette {
|
||||
fn update(&mut self, message: Message) {
|
||||
let srgb = match message {
|
||||
Message::RgbColorChanged(rgb) => Rgb::from(rgb),
|
||||
Message::RgbColorChanged(rgb) => to_rgb(rgb),
|
||||
Message::HslColorChanged(hsl) => Rgb::from_color(hsl),
|
||||
Message::HsvColorChanged(hsv) => Rgb::from_color(hsv),
|
||||
Message::HwbColorChanged(hwb) => Rgb::from_color(hwb),
|
||||
|
|
@ -53,13 +53,13 @@ impl ColorPalette {
|
|||
Message::LchColorChanged(lch) => Rgb::from_color(lch),
|
||||
};
|
||||
|
||||
self.theme = Theme::new(srgb);
|
||||
self.theme = Theme::new(to_color(srgb));
|
||||
}
|
||||
|
||||
fn view(&self) -> Element<Message> {
|
||||
let base = self.theme.base;
|
||||
|
||||
let srgb = Rgb::from(base);
|
||||
let srgb = to_rgb(base);
|
||||
let hsl = palette::Hsl::from_color(srgb);
|
||||
let hsv = palette::Hsv::from_color(srgb);
|
||||
let hwb = palette::Hwb::from_color(srgb);
|
||||
|
|
@ -108,7 +108,7 @@ impl Theme {
|
|||
let base = base.into();
|
||||
|
||||
// Convert to HSL color for manipulation
|
||||
let hsl = Hsl::from_color(Rgb::from(base));
|
||||
let hsl = Hsl::from_color(to_rgb(base));
|
||||
|
||||
let lower = [
|
||||
hsl.shift_hue(-135.0).lighten(0.075),
|
||||
|
|
@ -127,12 +127,12 @@ impl Theme {
|
|||
Theme {
|
||||
lower: lower
|
||||
.iter()
|
||||
.map(|&color| Rgb::from_color(color).into())
|
||||
.map(|&color| to_color(Rgb::from_color(color)))
|
||||
.collect(),
|
||||
base,
|
||||
higher: higher
|
||||
.iter()
|
||||
.map(|&color| Rgb::from_color(color).into())
|
||||
.map(|&color| to_color(Rgb::from_color(color)))
|
||||
.collect(),
|
||||
canvas_cache: canvas::Cache::default(),
|
||||
}
|
||||
|
|
@ -215,14 +215,14 @@ impl Theme {
|
|||
|
||||
text.align_y = alignment::Vertical::Bottom;
|
||||
|
||||
let hsl = Hsl::from_color(Rgb::from(self.base));
|
||||
let hsl = Hsl::from_color(to_rgb(self.base));
|
||||
for i in 0..self.len() {
|
||||
let pct = (i as f32 + 1.0) / (self.len() as f32 + 1.0);
|
||||
let graded = Hsl {
|
||||
lightness: 1.0 - pct,
|
||||
..hsl
|
||||
};
|
||||
let color: Color = Rgb::from_color(graded).into();
|
||||
let color: Color = to_color(Rgb::from_color(graded));
|
||||
|
||||
let anchor = Point {
|
||||
x: (i as f32) * box_size.width,
|
||||
|
|
@ -474,3 +474,21 @@ impl ColorSpace for palette::Lch {
|
|||
)
|
||||
}
|
||||
}
|
||||
|
||||
fn to_rgb(color: Color) -> Rgb {
|
||||
Rgb {
|
||||
red: color.r,
|
||||
green: color.g,
|
||||
blue: color.b,
|
||||
..Rgb::default()
|
||||
}
|
||||
}
|
||||
|
||||
fn to_color(rgb: Rgb) -> Color {
|
||||
Color {
|
||||
r: rgb.red,
|
||||
g: rgb.green,
|
||||
b: rgb.blue,
|
||||
a: 1.0,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue