Go to file
Benjamin Saunders c508d68d1d Fix evdev emulated scroll events
When X's evdev input module is configured to emulate scroll events (as
used with e.g. trackpoints), it generates non-emulated scroll button
presses and does not generate motion events. This is contrary to the
behavior of all other hardware I've tested, and contrary to the
behavior of libinput, but nonetheless should be supported.
2017-07-30 11:40:52 -07:00
.circleci Fix caching 2017-07-25 10:16:46 +02:00
examples wayland: add a warning in the examples in case no window is displayed. 2017-07-19 18:53:49 +02:00
src Fix evdev emulated scroll events 2017-07-30 11:40:52 -07:00
tests Add a test that checks that EventsLoopProxy impls Send 2017-05-25 23:18:56 +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 Use circle-ci for Android 2017-07-25 10:13:45 +02:00
appveyor.yml Fix the appveyor build 2015-09-24 08:37:52 +02:00
Cargo.toml Update wayland-window to support xdg_shell 2017-07-19 18:28:14 +02:00
LICENSE Initial commit 2014-07-27 11:41:26 +02:00
README.md Update the README for the version 2017-06-24 17:08:05 +10:00

winit - Cross-platform window creation and management in Rust

Docs.rs

Build Status Build status

[dependencies]
winit = "0.7"

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 mut 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, .. } => {
                winit::ControlFlow::Break
            },
            _ => winit::ControlFlow::Continue,
        }
    });
}