toml
[dependencies]
winit = "0.19.0"
Winit is a window creation and management library. It can create windows and lets you handle events (for example: the window being resized, a key being pressed, a mouse movement, etc.) produced by window.
Winit is designed to be a low-level brick in a hierarchy of libraries. Consequently, in order to show something on the window you need to use the platform-specific getters provided by winit, or another library.
```rust extern crate winit;
fn main() { let mut eventsloop = winit::EventsLoop::new(); let window = winit::Window::new(&eventsloop).unwrap();
events_loop.run_forever(|event| {
match event {
winit::Event::WindowEvent {
event: winit::WindowEvent::CloseRequested,
..
} => winit::ControlFlow::Break,
_ => winit::ControlFlow::Continue,
}
});
} ```
Winit is only officially supported on the latest stable version of the Rust compiler.
Winit provides the following features, which can be enabled in your Cargo.toml
file:
* icon_loading
: Enables loading window icons directly from files. Depends on the image
crate.
* serde
: Enables serialization/deserialization of certain types with Serde.
Building a binary will yield a .js
file. In order to use it in an HTML file, you need to:
<canvas id="my_id"></canvas>
element somewhere. A canvas corresponds to a winit "window".Module
. Set Module.canvas
to
the element of the <canvas>
element (in the example you would retrieve it via document.getElementById("my_id")
).
More information here..js
file generated by Rust after the Module
variable is created.