Merge pull request #1288 from tarkah/update-palette-0.6
update palette to 0.6
This commit is contained in:
commit
7ed0dbbcc5
3 changed files with 19 additions and 19 deletions
|
|
@ -11,7 +11,7 @@ repository = "https://github.com/iced-rs/iced"
|
||||||
bitflags = "1.2"
|
bitflags = "1.2"
|
||||||
|
|
||||||
[dependencies.palette]
|
[dependencies.palette]
|
||||||
version = "0.5"
|
version = "0.6"
|
||||||
optional = true
|
optional = true
|
||||||
|
|
||||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,4 @@ publish = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
iced = { path = "../..", features = ["canvas", "palette"] }
|
iced = { path = "../..", features = ["canvas", "palette"] }
|
||||||
palette = "0.5.0"
|
palette = "0.6.0"
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ use iced::{
|
||||||
alignment, slider, Alignment, Canvas, Color, Column, Element, Length,
|
alignment, slider, Alignment, Canvas, Color, Column, Element, Length,
|
||||||
Point, Rectangle, Row, Sandbox, Settings, Size, Slider, Text, Vector,
|
Point, Rectangle, Row, Sandbox, Settings, Size, Slider, Text, Vector,
|
||||||
};
|
};
|
||||||
use palette::{self, Hsl, Limited, Srgb};
|
use palette::{self, convert::FromColor, Hsl, Srgb};
|
||||||
use std::marker::PhantomData;
|
use std::marker::PhantomData;
|
||||||
use std::ops::RangeInclusive;
|
use std::ops::RangeInclusive;
|
||||||
|
|
||||||
|
|
@ -49,25 +49,25 @@ impl Sandbox for ColorPalette {
|
||||||
fn update(&mut self, message: Message) {
|
fn update(&mut self, message: Message) {
|
||||||
let srgb = match message {
|
let srgb = match message {
|
||||||
Message::RgbColorChanged(rgb) => palette::Srgb::from(rgb),
|
Message::RgbColorChanged(rgb) => palette::Srgb::from(rgb),
|
||||||
Message::HslColorChanged(hsl) => palette::Srgb::from(hsl),
|
Message::HslColorChanged(hsl) => palette::Srgb::from_color(hsl),
|
||||||
Message::HsvColorChanged(hsv) => palette::Srgb::from(hsv),
|
Message::HsvColorChanged(hsv) => palette::Srgb::from_color(hsv),
|
||||||
Message::HwbColorChanged(hwb) => palette::Srgb::from(hwb),
|
Message::HwbColorChanged(hwb) => palette::Srgb::from_color(hwb),
|
||||||
Message::LabColorChanged(lab) => palette::Srgb::from(lab),
|
Message::LabColorChanged(lab) => palette::Srgb::from_color(lab),
|
||||||
Message::LchColorChanged(lch) => palette::Srgb::from(lch),
|
Message::LchColorChanged(lch) => palette::Srgb::from_color(lch),
|
||||||
};
|
};
|
||||||
|
|
||||||
self.theme = Theme::new(srgb.clamp());
|
self.theme = Theme::new(srgb);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn view(&mut self) -> Element<Message> {
|
fn view(&mut self) -> Element<Message> {
|
||||||
let base = self.theme.base;
|
let base = self.theme.base;
|
||||||
|
|
||||||
let srgb = palette::Srgb::from(base);
|
let srgb = palette::Srgb::from(base);
|
||||||
let hsl = palette::Hsl::from(srgb);
|
let hsl = palette::Hsl::from_color(srgb);
|
||||||
let hsv = palette::Hsv::from(srgb);
|
let hsv = palette::Hsv::from_color(srgb);
|
||||||
let hwb = palette::Hwb::from(srgb);
|
let hwb = palette::Hwb::from_color(srgb);
|
||||||
let lab = palette::Lab::from(srgb);
|
let lab = palette::Lab::from_color(srgb);
|
||||||
let lch = palette::Lch::from(srgb);
|
let lch = palette::Lch::from_color(srgb);
|
||||||
|
|
||||||
Column::new()
|
Column::new()
|
||||||
.padding(10)
|
.padding(10)
|
||||||
|
|
@ -98,7 +98,7 @@ impl Theme {
|
||||||
let base = base.into();
|
let base = base.into();
|
||||||
|
|
||||||
// Convert to HSL color for manipulation
|
// Convert to HSL color for manipulation
|
||||||
let hsl = Hsl::from(Srgb::from(base));
|
let hsl = Hsl::from_color(Srgb::from(base));
|
||||||
|
|
||||||
let lower = [
|
let lower = [
|
||||||
hsl.shift_hue(-135.0).lighten(0.075),
|
hsl.shift_hue(-135.0).lighten(0.075),
|
||||||
|
|
@ -117,12 +117,12 @@ impl Theme {
|
||||||
Theme {
|
Theme {
|
||||||
lower: lower
|
lower: lower
|
||||||
.iter()
|
.iter()
|
||||||
.map(|&color| Srgb::from(color).clamp().into())
|
.map(|&color| Srgb::from_color(color).into())
|
||||||
.collect(),
|
.collect(),
|
||||||
base,
|
base,
|
||||||
higher: higher
|
higher: higher
|
||||||
.iter()
|
.iter()
|
||||||
.map(|&color| Srgb::from(color).clamp().into())
|
.map(|&color| Srgb::from_color(color).into())
|
||||||
.collect(),
|
.collect(),
|
||||||
canvas_cache: canvas::Cache::default(),
|
canvas_cache: canvas::Cache::default(),
|
||||||
}
|
}
|
||||||
|
|
@ -207,14 +207,14 @@ impl Theme {
|
||||||
|
|
||||||
text.vertical_alignment = alignment::Vertical::Bottom;
|
text.vertical_alignment = alignment::Vertical::Bottom;
|
||||||
|
|
||||||
let hsl = Hsl::from(Srgb::from(self.base));
|
let hsl = Hsl::from_color(Srgb::from(self.base));
|
||||||
for i in 0..self.len() {
|
for i in 0..self.len() {
|
||||||
let pct = (i as f32 + 1.0) / (self.len() as f32 + 1.0);
|
let pct = (i as f32 + 1.0) / (self.len() as f32 + 1.0);
|
||||||
let graded = Hsl {
|
let graded = Hsl {
|
||||||
lightness: 1.0 - pct,
|
lightness: 1.0 - pct,
|
||||||
..hsl
|
..hsl
|
||||||
};
|
};
|
||||||
let color: Color = Srgb::from(graded.clamp()).into();
|
let color: Color = Srgb::from_color(graded).into();
|
||||||
|
|
||||||
let anchor = Point {
|
let anchor = Point {
|
||||||
x: (i as f32) * box_size.width,
|
x: (i as f32) * box_size.width,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue