quicksilver 0.1.0

A simple game framework for 2D games in pure Rust
Documentation
#[macro_use]
extern crate quicksilver;

use quicksilver::asset::{Loadable, LoadingAsset};
use quicksilver::geom::Vector;
use quicksilver::graphics::{Canvas, Color, Image, Window, WindowBuilder};
use std::time::Duration;

pub struct State {
    window: Window,
    canvas: Canvas,
    image: LoadingAsset<Image>
}

impl State {
    pub fn new() -> State {
        let (window, canvas) = WindowBuilder::new()
            .build("Basic Window", 800, 600);
        let image = Image::load("examples/image.png");
        State { window, canvas, image }
    }

    pub fn events(&mut self) -> bool {
        self.window.poll_events()
    }

    pub fn update(&mut self) -> Duration {
        Duration::from_millis(1000)
    }

    pub fn draw(&mut self) {
        self.image.update();
        match self.image {
            LoadingAsset::Loading(_) => {},
            LoadingAsset::Errored(_) => {},
            LoadingAsset::Loaded(ref image) => {
                self.canvas.clear(Color::white());
                self.canvas.draw_image(image, Vector::new(100.0, 100.0));
                self.canvas.present(&self.window);
            }
        }
    }
}

game_loop!(State);