Mporn/src/main.rs

48 lines
1 KiB
Rust

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<Message>{
match message {
Message::Exit => window::latest().and_then(window::close),
}
}
fn view(_state: &State) -> Element<Message>{
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()
}