Go to file
mitchmindtree 06a5ec35b3 [WIP] Remove Sync and Clone from EventsLoop. Add EventsLoopProxy.
This commit only updates the top-level API to get some early feedback.
None of the platform-specific code has been updated yet. I'm hoping to
get around to this over the next couple days however if someone more
familiar with the windows backend would like to do a PR against this
fork that would be a great help.

Closes #187.
2017-05-25 20:13:54 +10:00
examples [WIP] Remove Sync and Clone from EventsLoop. Add EventsLoopProxy. 2017-05-25 20:13:54 +10:00
src [WIP] Remove Sync and Clone from EventsLoop. Add EventsLoopProxy. 2017-05-25 20:13:54 +10:00
tests [WIP] Remove Sync and Clone from EventsLoop. Add EventsLoopProxy. 2017-05-25 20:13:54 +10:00
.gitattributes Initial commit 2014-07-27 11:41:26 +02:00
.gitignore win32: Bump user32-sys req for MapVirtualKeyA 2015-09-22 14:01:27 -04:00
.gitmodules Add basic support for Android 2014-09-11 18:28:07 +02:00
.travis.yml Try and use regular rustup command for adding ios target 2017-03-25 15:32:44 +11:00
appveyor.yml Fix the appveyor build 2015-09-24 08:37:52 +02:00
Cargo.toml wayland: Initially paint the window white so that they always exist 2017-05-23 21:53:17 +02:00
LICENSE Initial commit 2014-07-27 11:41:26 +02:00
README.md Merge pull request #184 from LPGhatguy/patch-1 2017-05-22 09:02:07 +02:00

winit - Cross-platform window creation and management in Rust

Docs.rs

Build Status Build status

[dependencies]
winit = "0.6"

Documentation

Usage

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 mouvement, 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.

extern crate winit;

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

    events_loop.run_forever(|event| {
        match event {
            winit::Event::WindowEvent { event: winit::WindowEvent::Closed, .. } => {
                events_loop.interrupt();
            },
            _ => ()
        }
    });
}