piston_window Build Status Crates.io Crates.io

The official Piston convenience window wrapper for the Piston game engine

Notice! If this is your first time visiting Piston, start here.

Piston-Window is designed for only one purpose: Convenience.

Documentation

Rust extern crate piston_window; use piston_window::*; fn main() { let mut window: PistonWindow = WindowSettings::new("Hello Piston!", (640, 480)) .exit_on_esc(true) .build() .unwrap_or_else(|e| { panic!("Failed to build PistonWindow: {}", e) }); while let Some(e) = window.next() { window.draw_2d(&e, |_c, g, _d| { clear([0.5, 1.0, 0.5, 1.0], g); }); } }

PistonWindow uses Glutin as window back-end by default, but you can change to another back-end, for example SDL2 or GLFW by changing the type parameter:

Rust let mut window: PistonWindow<Sdl2Window> = WindowSettings::new("Hello Piston!", [640, 480]) .exit_on_esc(true).build().unwrap();

PistonWindow implements AdvancedWindow, Window and EventLoop. Nested game loops are supported, so you can have one inside another.

Rust while let Some(e) = window.next() { if let Some(button) = e.press_args() { // Intro. while let Some(e) = window.next() { ... } } }

Ideas or feedback? Open up an issue here.

Dependency graph

Dependencies