summaryrefslogtreecommitdiffstats
path: root/examples/loupe
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-16 05:33:47 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-16 05:33:47 +0100
commitc22269bff3085012d326a0df77bf27ad5bcb41b7 (patch)
tree1083f21d012ab2bac88fb51537d4dc431bc7f170 /examples/loupe
parent0524e9b4571d264018656418f02a1f9e27e268d7 (diff)
downloadiced-c22269bff3085012d326a0df77bf27ad5bcb41b7.tar.gz
iced-c22269bff3085012d326a0df77bf27ad5bcb41b7.tar.bz2
iced-c22269bff3085012d326a0df77bf27ad5bcb41b7.zip
Introduce `Program` API
Diffstat (limited to 'examples/loupe')
-rw-r--r--examples/loupe/src/main.rs33
1 files changed, 12 insertions, 21 deletions
diff --git a/examples/loupe/src/main.rs b/examples/loupe/src/main.rs
index 8602edb7..6a5ff123 100644
--- a/examples/loupe/src/main.rs
+++ b/examples/loupe/src/main.rs
@@ -1,39 +1,30 @@
use iced::widget::{button, column, container, text};
-use iced::{Alignment, Element, Length, Sandbox, Settings};
+use iced::{Alignment, Element, Length};
use loupe::loupe;
pub fn main() -> iced::Result {
- Counter::run(Settings::default())
+ iced::run("Loupe - Iced", Loupe::update, Loupe::view)
}
-struct Counter {
- value: i32,
+#[derive(Default)]
+struct Loupe {
+ value: i64,
}
#[derive(Debug, Clone, Copy)]
enum Message {
- IncrementPressed,
- DecrementPressed,
+ Increment,
+ Decrement,
}
-impl Sandbox for Counter {
- type Message = Message;
-
- fn new() -> Self {
- Self { value: 0 }
- }
-
- fn title(&self) -> String {
- String::from("Counter - Iced")
- }
-
+impl Loupe {
fn update(&mut self, message: Message) {
match message {
- Message::IncrementPressed => {
+ Message::Increment => {
self.value += 1;
}
- Message::DecrementPressed => {
+ Message::Decrement => {
self.value -= 1;
}
}
@@ -43,9 +34,9 @@ impl Sandbox for Counter {
container(loupe(
3.0,
column![
- button("Increment").on_press(Message::IncrementPressed),
+ button("Increment").on_press(Message::Increment),
text(self.value).size(50),
- button("Decrement").on_press(Message::DecrementPressed)
+ button("Decrement").on_press(Message::Decrement)
]
.padding(20)
.align_items(Alignment::Center),