use druid::widget::{Align, Button, Flex, Label, Padding};
use druid::{AppLauncher, LocalizedString, PlatformError, Widget, WindowDesc};
fn main() -> Result<(), PlatformError> {
let main_window = WindowDesc::new(ui_builder);
let data = 0_u32;
AppLauncher::with_window(main_window)
.use_simple_logger()
.launch(data)?;
Ok(())
}
fn ui_builder() -> impl Widget<u32> {
let text =
LocalizedString::new("hello-counter").with_arg("count", |data: &u32, _env| (*data).into());
let label = Label::new(text);
let button = Button::new("increment", |_ctx, data, _env| *data += 1);
Flex::column()
.with_child(Align::centered(Padding::new(5.0, label)), 1.0)
.with_child(Padding::new(5.0, button), 1.0)
}