Então, eu tenho este aplicativo egui simples escrito em Rust e quero arrastar minha janela pela tela quando clico com o botão esquerdo do mouse sobre a janela e arrasto.
Esta é a minha janela:
fn main() {
let nativeoption = eframe::NativeOptions {
always_on_top: false,
maximized: false,
decorated: true,
fullscreen: false,
drag_and_drop_support: true,
initial_window_size: Option::from(egui::Vec2::new(300f32, 300f32)),
min_window_size: None,
max_window_size: None,
resizable: true,
..Default::default()
};
eframe::run_native(
"my egui app",
nativeoption,
Box::new(|cc| Box::new(MyEguiApp::new(cc))),
)
.expect("TODO: panic message");
}
#[derive(Default)]
struct MyEguiApp {
name: String,
}
impl MyEguiApp {
fn new(cc: &eframe::CreationContext<'_>) -> Self {
MyEguiApp {
name: String::new(),
};
Self::default()
}
}
impl eframe::App for MyEguiApp {
fn update(&mut self, ctx: &egui::Context, frame: &mut eframe::Frame) {
egui::CentralPanel::default().show(ctx, |ui| {
ui.heading("hello welcome to egui");
ui.separator();
ui.horizontal(|ui| {
ui.label("Enter your name");
let res = ui.text_edit_singleline(&mut self.name);
});
ui.label(format!("my name is {}", &self.name));
});
}
}
Quero poder arrastar isso para qualquer lugar usando o mouse/cursor.