13 个版本

使用旧的 Rust 2015

0.3.3 2018年11月24日
0.3.2 2018年6月14日
0.3.1 2018年5月23日
0.3.0 2018年3月5日
0.1.0 2017年11月26日

#7 in #主


3 crate 中使用

MIT 许可证

9KB
192 行代码(不含注释)

main_loop

实时应用的主循环

无默认功能

main_loop = { version = "0.3", default-features = false }
extern crate main_loop;

use main_loop::ControlFlow;

fn main() {
    main_loop::run(|ms| {
        println!("{:?}ms since start", ms);
        ControlFlow::Continue
    });
}

glutin

main_loop = { version = "0.3" }
extern crate glutin;
extern crate main_loop;

use main_loop::ControlFlow;

fn main() {
    let mut events_loop = glutin::EventsLoop::new();
    let window = glutin::WindowBuilder::new()
        .with_title("Glutin")
        .with_dimensions(512, 512);
    let context = glutin::ContextBuilder::new();
    let _gl_window = glutin::GlWindow::new(window, context, &events_loop).unwrap();


    main_loop::glutin::run(&mut events_loop, |events, ms| {
        println!("{:?}ms since start", ms);

        for event in events {
            println!("{:?}", event);
        }

        ControlFlow::Continue
    });
}

winit

main_loop = { version = "0.3" }
extern crate main_loop;
extern crate winit;

use main_loop::ControlFlow;
use winit::{EventsLoop, Window};

fn main() {
    let mut events_loop = EventsLoop::new();
    let _window = Window::new(&events_loop).unwrap();

    main_loop::winit::run(&mut events_loop, |events, ms| {
        println!("{:?}ms since start", ms);

        for event in events {
            println!("{:?}", event);
        }

        ControlFlow::Continue
    });
}

依赖项

~3–18MB
~243K SLoC