struct App {
split_state: iced_resizable_split::State,
}
enum AppMessage {
SplitDragged(iced_resizable_split::State),
}
impl App {
const fn new() -> Self {
Self {
split_state: iced_resizable_split::State::new(0.5, 0.1, 0.9),
}
}
const fn update(&mut self, msg: AppMessage) {
match msg {
AppMessage::SplitDragged(new_state) => self.split_state.update(new_state),
}
}
fn view(&self) -> iced::Element<'_, AppMessage> {
iced_resizable_split::SplitHorizontal::new(
iced::widget::text("TOP split"),
iced::widget::text("BOTTOM split"),
self.split_state,
AppMessage::SplitDragged,
)
.into()
}
}
fn main() -> iced::Result {
iced::application(App::new, App::update, App::view).run()
}