6 releases (breaking)

0.5.0 May 8, 2024
0.4.0 Feb 11, 2023
0.3.0 Feb 4, 2023
0.2.0 Jan 7, 2023
0.1.1 Oct 22, 2022

#792 in GUI

BSD-3-Clause

31KB
613 lines

egui_speedy2d

crates.io | docs

egui_speedy2d is a library that helps integrate egui, an immediate mode GUI library, with speeedy2d, a 2D rendering framework.

Warning

The current version has only been tested on linux platform. It should work on windows platform. Not all features of egui has been tested. The work is still in progress. All merge-requests are welcome.

Basic example

use {
    egui_speedy2d::{WindowHandler, WindowWrapper},
    speedy2d::{color::Color, window::WindowHelper, Graphics2D, Window},
};

fn main() {
    simple_logger::SimpleLogger::new().init().unwrap();
    let window = Window::new_centered("Basic sample", (640, 240)).unwrap();
    window.run_loop(WindowWrapper::new(MyWindowHandler {}))
}

struct MyWindowHandler {}

impl WindowHandler for MyWindowHandler {
    fn on_draw(
        &mut self,
        helper: &mut WindowHelper,
        graphics: &mut Graphics2D,
        egui_ctx: &egui::Context,
    ) {
        graphics.clear_screen(Color::WHITE);
        egui::Window::new("Hello").show(&egui_ctx, |ui| {
            ui.label("World !");
        });
        helper.request_redraw();
    }
}

License

This project is licensed under

Any contribution intentionally submitted for inclusion by you, shall be licensed as above, without any additional terms or conditions.

Dependencies

~11–18MB
~275K SLoC