summaryrefslogtreecommitdiffstats
path: root/examples/game_of_life/src/style.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-07-10 07:41:31 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-07-10 07:41:31 +0200
commit94383d82a5d080a28de025fadc6b7ba27e37927d (patch)
treeba950201b684401a9e060b6b96f176c9cc7b4138 /examples/game_of_life/src/style.rs
parentb64e0ea5e31e718e435b24244119f59f7128bc27 (diff)
downloadiced-94383d82a5d080a28de025fadc6b7ba27e37927d.tar.gz
iced-94383d82a5d080a28de025fadc6b7ba27e37927d.tar.bz2
iced-94383d82a5d080a28de025fadc6b7ba27e37927d.zip
Style `PickList` in `game_of_life` example
Diffstat (limited to 'examples/game_of_life/src/style.rs')
-rw-r--r--examples/game_of_life/src/style.rs56
1 files changed, 55 insertions, 1 deletions
diff --git a/examples/game_of_life/src/style.rs b/examples/game_of_life/src/style.rs
index d59569f2..308ce43c 100644
--- a/examples/game_of_life/src/style.rs
+++ b/examples/game_of_life/src/style.rs
@@ -1,4 +1,4 @@
-use iced::{button, container, slider, Background, Color};
+use iced::{button, container, pick_list, slider, Background, Color};
const ACTIVE: Color = Color::from_rgb(
0x72 as f32 / 255.0,
@@ -18,6 +18,12 @@ const HOVERED: Color = Color::from_rgb(
0xC4 as f32 / 255.0,
);
+const BACKGROUND: Color = Color::from_rgb(
+ 0x2F as f32 / 255.0,
+ 0x31 as f32 / 255.0,
+ 0x36 as f32 / 255.0,
+);
+
pub struct Container;
impl container::StyleSheet for Container {
@@ -132,3 +138,51 @@ impl slider::StyleSheet for Slider {
}
}
}
+
+pub struct PickList;
+
+impl pick_list::StyleSheet for PickList {
+ fn menu(&self) -> pick_list::Menu {
+ pick_list::Menu {
+ text_color: Color::WHITE,
+ background: BACKGROUND.into(),
+ border_width: 1,
+ border_color: Color {
+ a: 0.7,
+ ..Color::BLACK
+ },
+ selected_background: Color {
+ a: 0.5,
+ ..Color::BLACK
+ }
+ .into(),
+ selected_text_color: Color::WHITE,
+ }
+ }
+
+ fn active(&self) -> pick_list::Style {
+ pick_list::Style {
+ text_color: Color::WHITE,
+ background: BACKGROUND.into(),
+ border_width: 1,
+ border_color: Color {
+ a: 0.6,
+ ..Color::BLACK
+ },
+ border_radius: 2,
+ icon_size: 0.5,
+ }
+ }
+
+ fn hovered(&self) -> pick_list::Style {
+ let active = self.active();
+
+ pick_list::Style {
+ border_color: Color {
+ a: 0.9,
+ ..Color::BLACK
+ },
+ ..active
+ }
+ }
+}