use burn::backend::wgpu::{Wgpu, WgpuDevice};
use iris::prelude::*;
fn main() -> Result<()> {
type Backend = Wgpu;
let device = WgpuDevice::default();
println!(
"Using compute backend: {}",
BurnUtils::backend_name::<Backend>()
);
let frame: Image<Backend> = Image::open("assets/images/gradient.png", &device)?;
let winname = "Gui Window";
Gui::named_window(winname)?;
Gui::imshow(winname, &frame)?;
Gui::create_trackbar("Alpha", winname, 50, 100)?;
Gui::set_trackbar_pos("Alpha", winname, 75)?;
let val = Gui::get_trackbar_pos("Alpha", winname)?;
println!("Trackbar 'Alpha' position: {}", val);
Gui::set_mouse_callback(winname, |event, x, y, flags| {
println!(
"[Gui Callback] Mouse event: {}, x: {}, y: {}, flags: {}",
event, x, y, flags
);
})?;
Gui::wait_key(2000)?;
Gui::destroy_all_windows()?;
println!("GUI example completed.");
Ok(())
}