egui_speedy2d

April 10, 2026 ยท View on GitHub

crates.io | docs

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

Warning

This crate focuses on egui mesh rendering through speedy2d and does not support egui paint callbacks.

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.