summaryrefslogtreecommitdiffstats
path: root/examples/gradients
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-09-07 07:38:51 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-09-07 07:48:44 +0200
commit21259ee745c17d0f257c7a6c356d8a491460f9d6 (patch)
treec7823eccbeb3fa9632fd828d1a64593d80ef86c1 /examples/gradients
parentadfcd8c727b896589b77322eae01f9710a86f7cc (diff)
downloadiced-21259ee745c17d0f257c7a6c356d8a491460f9d6.tar.gz
iced-21259ee745c17d0f257c7a6c356d8a491460f9d6.tar.bz2
iced-21259ee745c17d0f257c7a6c356d8a491460f9d6.zip
Rename `gradients` example to `gradient`
Diffstat (limited to 'examples/gradients')
-rw-r--r--examples/gradients/Cargo.toml8
-rw-r--r--examples/gradients/src/main.rs111
2 files changed, 0 insertions, 119 deletions
diff --git a/examples/gradients/Cargo.toml b/examples/gradients/Cargo.toml
deleted file mode 100644
index 1bc65a9c..00000000
--- a/examples/gradients/Cargo.toml
+++ /dev/null
@@ -1,8 +0,0 @@
-[package]
-name = "gradients"
-version = "0.1.0"
-edition = "2021"
-publish = false
-
-[dependencies]
-iced = { path = "../.." }
diff --git a/examples/gradients/src/main.rs b/examples/gradients/src/main.rs
deleted file mode 100644
index ad9bfe11..00000000
--- a/examples/gradients/src/main.rs
+++ /dev/null
@@ -1,111 +0,0 @@
-use iced::widget::{column, container, row, slider, text};
-use iced::{
- gradient, Alignment, Background, BorderRadius, Color, Element, Length,
- Radians, Sandbox, Settings,
-};
-
-pub fn main() -> iced::Result {
- Gradient::run(Settings::default())
-}
-
-#[derive(Debug, Clone, Copy)]
-struct Gradient {
- start: Color,
- end: Color,
- angle: f32,
-}
-
-#[derive(Debug, Clone, Copy)]
-enum Message {
- StartChanged(Color),
- EndChanged(Color),
- AngleChanged(f32),
-}
-
-impl Sandbox for Gradient {
- type Message = Message;
-
- fn new() -> Self {
- let start = Color::new(1.0, 1.0, 1.0, 1.0);
- let end = Color::new(0.0, 0.0, 1.0, 1.0);
-
- Self {
- start,
- end,
- angle: 0.0,
- }
- }
-
- fn title(&self) -> String {
- String::from("Gradient")
- }
-
- fn update(&mut self, message: Message) {
- match message {
- Message::StartChanged(color) => self.start = color,
- Message::EndChanged(color) => self.end = color,
- Message::AngleChanged(angle) => self.angle = angle,
- }
- }
-
- fn view(&self) -> Element<Message> {
- let Self { start, end, angle } = *self;
-
- let gradient_box = container(text(""))
- .width(Length::Fill)
- .height(Length::Fill)
- .center_x()
- .center_y()
- .style(move |_: &_| {
- let gradient = gradient::Linear::new(Radians(
- angle + std::f32::consts::PI,
- ))
- .add_stop(0.0, start)
- .add_stop(1.0, end)
- .into();
-
- container::Appearance {
- text_color: None,
- background: Some(Background::Gradient(gradient)),
- border_radius: BorderRadius::default(),
- border_width: 0.0,
- border_color: Color::new(0.0, 0.0, 0.0, 0.0),
- }
- });
-
- let angle_picker = row![
- text("Angle").width(64),
- slider(0.0..=std::f32::consts::PI * 2.0, self.angle, move |v| {
- Message::AngleChanged(v)
- })
- .step(0.01)
- ]
- .spacing(8)
- .padding(8)
- .align_items(Alignment::Center);
-
- column![
- color_picker("Start", self.start).map(Message::StartChanged),
- color_picker("End", self.end).map(Message::EndChanged),
- angle_picker,
- gradient_box
- ]
- .into()
- }
-}
-
-fn color_picker(label: &str, color: Color) -> Element<'_, Color> {
- row![
- text(label).width(64),
- slider(0.0..=1.0, color.r, move |r| { Color { r, ..color } })
- .step(0.01),
- slider(0.0..=1.0, color.g, move |g| { Color { g, ..color } })
- .step(0.01),
- slider(0.0..=1.0, color.b, move |b| { Color { b, ..color } })
- .step(0.01),
- ]
- .spacing(8)
- .padding(8)
- .align_items(Alignment::Center)
- .into()
-}