summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Malte Veerman <malte.veerman@gmail.com>2019-12-04 22:02:07 +0100
committerLibravatar Malte Veerman <malte.veerman@gmail.com>2019-12-04 22:02:07 +0100
commit33ad332ce99fff5de8e50a5b5c98f3ce181c311a (patch)
tree256269a85712c96d6e43b02c9343a8265599b081
parented045b45ba9490b6020618fb13c7dbc3ea5032ab (diff)
downloadiced-33ad332ce99fff5de8e50a5b5c98f3ce181c311a.tar.gz
iced-33ad332ce99fff5de8e50a5b5c98f3ce181c311a.tar.bz2
iced-33ad332ce99fff5de8e50a5b5c98f3ce181c311a.zip
Implemented `From<Color` for `Background`
-rw-r--r--core/src/background.rs6
-rw-r--r--core/src/color.rs7
-rw-r--r--examples/pokedex.rs4
-rw-r--r--examples/todos.rs6
-rw-r--r--examples/tour.rs19
-rw-r--r--wgpu/src/renderer/widget/slider.rs4
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 {