# ezwin-rs
[](https://crates.io/crates/ezwin)
[](https://ko-fi.com/R6R8PGIU6)
```rust
use ezwin::prelude::*;
fn main() {
// configure
let settings = WindowSettings::default();
// create
let window = Window::new(settings).unwrap();
// run
for message in &window {}
}
```
## `ezwin` is an easy-to-use Win32 windowing library
⚠️ This project is still very much a WIP; I am only one student, after all. ⚠️
The main goal of `ezwin` is to have a simple, easy-to-use API. The target audience is game developers looking to create
a window quickly and easily. I aim to have feature-parity with `winit` eventually as a secondary goal. Cross-platform
support is unlikely, but pull requests are welcomed if anyone else wants to tackle it.
There are **2** primary threads in `ezwin`:
* **main:** where all the main user code is executed.
* **window:** where the window is created and the message pump lives.
This layout was chosen to allow for the window messages not to block the application.
## Cargo Features
* **`rwh_05` / `rwh_06`:** use the appropriate version of `raw-window-handle`. `rwh_06` is the default.
## Examples
Examples are a work-in-progress, but you can see a sample crate in the `examples` folder.