use msgbox::IconType;
use rsgt::event::WindowListener;
use rsgt::graphic::load_icon;
use rsgt::rframe::{RFrame, RFrameBuilder};
use rsgt::Size;
use std::path::PathBuf;
fn main() {
rsgt::os::enable_visual_style();
let mut frame = RFrameBuilder::new()
.with_size(Size(1280, 720))
.with_title("Show window")
.with_visible(true)
.build()
.unwrap();
frame.add_window_listener(SampleWindowListener {});
frame.run();
}
struct SampleWindowListener {}
impl WindowListener for SampleWindowListener {
fn window_dropped_file(&mut self, path: PathBuf, frame: &RFrame) {
let icon = match load_icon(path.as_path()) {
Ok(icon) => icon,
Err(err) => {
msgbox::create("Error", err.to_string().as_str(), IconType::Error)
.expect("TODO: panic message");
return;
}
};
frame.set_icon(icon);
}
}