summaryrefslogtreecommitdiffstats
path: root/examples/loupe
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector@hecrj.dev>2024-03-16 17:09:00 +0100
committerLibravatar GitHub <noreply@github.com>2024-03-16 17:09:00 +0100
commit503a48e89977437bf8b7bf485f416a15a2e83ed0 (patch)
tree30306bbaee7a31090ace9d7725d46c2c0027fe6b /examples/loupe
parent0524e9b4571d264018656418f02a1f9e27e268d7 (diff)
parentcfc0383bbfff083786840e3f1fd499e5991fa629 (diff)
downloadiced-503a48e89977437bf8b7bf485f416a15a2e83ed0.tar.gz
iced-503a48e89977437bf8b7bf485f416a15a2e83ed0.tar.bz2
iced-503a48e89977437bf8b7bf485f416a15a2e83ed0.zip
Merge pull request #2331 from iced-rs/program-api
`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),