srb_gui 0.1.0

GUI for the Space Robotics Bench
mod cli_args;

fn main() -> eframe::Result<()> {
    if cli_args::startup_action(std::env::args_os()) == cli_args::StartupAction::PrintHelp {
        print!("{}", cli_args::USAGE);
        return Ok(());
    }

    tracing_subscriber::fmt::init();

    let icon = image::load_from_memory_with_format(
        include_bytes!(concat!(
            env!("CARGO_MANIFEST_DIR"),
            "/assets/window_icon.png"
        )),
        image::ImageFormat::Png,
    )
    .unwrap()
    .to_rgba8();
    let (icon_width, icon_height) = icon.dimensions();
    let native_options = eframe::NativeOptions {
        viewport: egui::ViewportBuilder::default()
            .with_min_inner_size([600.0, 480.0])
            .with_icon(egui::IconData {
                rgba: icon.into_raw(),
                width: icon_width,
                height: icon_height,
            }),
        ..Default::default()
    };

    eframe::run_native(
        "Space Robotics Bench",
        native_options,
        Box::new(|cc| Ok(Box::new(srb_gui::App::new(cc)))),
    )
}