diff options
author | 2019-12-04 22:02:07 +0100 | |
---|---|---|
committer | 2019-12-04 22:02:07 +0100 | |
commit | 33ad332ce99fff5de8e50a5b5c98f3ce181c311a (patch) | |
tree | 256269a85712c96d6e43b02c9343a8265599b081 | |
parent | ed045b45ba9490b6020618fb13c7dbc3ea5032ab (diff) | |
download | iced-33ad332ce99fff5de8e50a5b5c98f3ce181c311a.tar.gz iced-33ad332ce99fff5de8e50a5b5c98f3ce181c311a.tar.bz2 iced-33ad332ce99fff5de8e50a5b5c98f3ce181c311a.zip |
Implemented `From<Color` for `Background`
-rw-r--r-- | core/src/background.rs | 6 | ||||
-rw-r--r-- | core/src/color.rs | 7 | ||||
-rw-r--r-- | examples/pokedex.rs | 4 | ||||
-rw-r--r-- | examples/todos.rs | 6 | ||||
-rw-r--r-- | examples/tour.rs | 19 | ||||
-rw-r--r-- | wgpu/src/renderer/widget/slider.rs | 4 |
6 files changed, 26 insertions, 20 deletions
diff --git a/core/src/background.rs b/core/src/background.rs index 98047172..2f75e45c 100644 --- a/core/src/background.rs +++ b/core/src/background.rs @@ -7,3 +7,9 @@ pub enum Background { Color(Color), // TODO: Add gradient and image variants } + +impl From<Color> for Background { + fn from(color: Color) -> Self { + Background::Color(color) + } +}
\ No newline at end of file diff --git a/core/src/color.rs b/core/src/color.rs index 7b3649ad..c28e784f 100644 --- a/core/src/color.rs +++ b/core/src/color.rs @@ -37,6 +37,13 @@ impl Color { } } + /// Creates a [`Color`] from its RGB components. + /// + /// [`Color`]: struct.Color.html + pub fn from_rgb(r: f32, g: f32, b: f32) -> Color { + Color { r, g, b, a: 1.0 } + } + /// Converts the [`Color`] into its linear values. /// /// [`Color`]: struct.Color.html diff --git a/examples/pokedex.rs b/examples/pokedex.rs index 8e0af7b2..6893bb73 100644 --- a/examples/pokedex.rs +++ b/examples/pokedex.rs @@ -1,5 +1,5 @@ use iced::{ - button, image, Align, Application, Background, Button, Color, Column, + button, image, Align, Application, Button, Color, Column, Command, Container, Element, Image, Length, Row, Settings, Text, }; @@ -225,7 +225,7 @@ impl From<reqwest::Error> for Error { fn button<'a>(state: &'a mut button::State, text: &str) -> Button<'a, Message> { Button::new(state, Text::new(text).color(Color::WHITE)) - .background(Background::Color([0.11, 0.42, 0.87].into())) + .background(Color::from_rgb(0.11, 0.42, 0.87).into()) .border_radius(10) .padding(10) } diff --git a/examples/todos.rs b/examples/todos.rs index af8a37a8..684c9fea 100644 --- a/examples/todos.rs +++ b/examples/todos.rs @@ -1,5 +1,5 @@ use iced::{ - button, scrollable, text_input, Align, Application, Background, Button, + button, scrollable, text_input, Align, Application, Button, Checkbox, Color, Column, Command, Container, Element, Font, HorizontalAlignment, Length, Row, Scrollable, Settings, Text, TextInput, }; @@ -332,7 +332,7 @@ impl Task { .on_press(TaskMessage::Delete) .padding(10) .border_radius(5) - .background(Background::Color([0.8, 0.2, 0.2].into())), + .background(Color::from_rgb(0.8, 0.2, 0.2).into()), ) .into() } @@ -361,7 +361,7 @@ impl Controls { let label = Text::new(label).size(16).width(Length::Shrink); let button = if filter == current_filter { Button::new(state, label.color(Color::WHITE)) - .background(Background::Color([0.2, 0.2, 0.7].into())) + .background(Color::from_rgb(0.2, 0.2, 0.7).into()) } else { Button::new(state, label) }; diff --git a/examples/tour.rs b/examples/tour.rs index 0121c3bd..53a8e662 100644 --- a/examples/tour.rs +++ b/examples/tour.rs @@ -1,5 +1,5 @@ use iced::{ - button, scrollable, slider, text_input, Background, Button, Checkbox, + button, scrollable, slider, text_input, Button, Checkbox, Color, Column, Container, Element, HorizontalAlignment, Image, Length, Radio, Row, Sandbox, Scrollable, Settings, Slider, Text, TextInput, }; @@ -684,24 +684,17 @@ fn primary_button<'a, Message>( state: &'a mut button::State, label: &str, ) -> Button<'a, Message> { - button(state, label).background(Background::Color(Color { - r: 0.11, - g: 0.42, - b: 0.87, - a: 1.0, - })) + button(state, label) + .background(Color::from_rgb(0.11, 0.42, 0.87).into()) } fn secondary_button<'a, Message>( state: &'a mut button::State, label: &str, ) -> Button<'a, Message> { - button(state, label).background(Background::Color(Color { - r: 0.4, - g: 0.4, - b: 0.4, - a: 1.0, - })) + button(state, label) + .background(Color::from_rgb(0.4, 0.4, 0.4).into()) + } #[derive(Debug, Clone, Copy, PartialEq, Eq)] diff --git a/wgpu/src/renderer/widget/slider.rs b/wgpu/src/renderer/widget/slider.rs index f561be0a..c73a4e56 100644 --- a/wgpu/src/renderer/widget/slider.rs +++ b/wgpu/src/renderer/widget/slider.rs @@ -29,7 +29,7 @@ impl slider::Renderer for Renderer { width: bounds.width, height: 2.0, }, - background: Background::Color([0.6, 0.6, 0.6].into()), + background: Color::from_rgb(0.6, 0.6, 0.6).into(), border_radius: 0, }, Primitive::Quad { @@ -57,7 +57,7 @@ impl slider::Renderer for Renderer { width: HANDLE_WIDTH + 2.0, height: HANDLE_HEIGHT + 2.0, }, - background: Background::Color([0.6, 0.6, 0.6].into()), + background: Color::from_rgb(0.6, 0.6, 0.6).into(), border_radius: 5, }, Primitive::Quad { |