use iced::{Element, Task, Theme, window, Length}; use iced::widget::{text, button, column, row}; #[derive(Debug)] struct State{ title: String, } impl State { fn update(_state: &mut State, message: Message) -> Task{ match message { Message::Exit => window::latest().and_then(window::close), } } fn view(_state: &State) -> Element{ column![ row![ text("Music Player on Rust Nya").size(38).width(Length::Fill), button(text("Exit").size(30)).on_press(Message::Exit) ], ].into() } } impl Default for State { fn default() -> Self{ Self{ title: String::from("Mporn"), } } } #[derive(Debug, Clone)] enum Message{ Exit, } fn main() -> iced::Result { iced::application(||{ ( State{title: String::from("Mporn")}, Task::none() ) }, State::update, State::view) .theme(|_s: &State| iced::Theme::KanagawaDragon) .run() }