gust-render 0.2.0

Gust is a simple 2D graphical library inspired by SFML.
Documentation
extern crate gust_render as gust;

use gust::prelude::*;
use gust::vertex::{Vertex, VertexArray};
use gust::vertex_buffer::{VertexBuffer, Primitive};
use gust::event::EventType;

fn main() {
    let mut window = Window::new(gust::WIDTH, gust::HEIGHT, "Hello");
    let vert_arr = VertexArray::from(
        vec![
            Vertex::new(
                Vector::new(800.0, 400.0),
                Vector::new(200.0, 0.0),
                Color::new(0.0, 1.0, 0.0),
            ),
            Vertex::new(
                Vector::new(1200.0, 700.0),
                Vector::new(20.0, 10.0),
                Color::new(0.0, 1.0, 1.0),
            ),
            Vertex::new(
                Vector::new(1000.0, 300.0),
                Vector::new(0.0, 0.0),
                Color::new(0.0, 0.2, 1.0),
            ),
            Vertex::new(
                Vector::new(800.0, 100.0),
                Vector::new(0.0, 0.0),
                Color::new(1.0, 1.0, 0.5),
            ),
            Vertex::new(
                Vector::new(600.0, 300.0),
                Vector::new(0.0, 0.0),
                Color::new(0.5, 0.2, 0.1),
            ),
            Vertex::new(
                Vector::new(400.0, 700.0),
                Vector::new(0.0, 0.0),
                Color::new(1.0, 0.0, 0.0),
            ),
        ]
        .as_slice(),
    );

    let vert_arr_2 = VertexArray::from(
        vec![
            Vertex::new(Vector::new(0.0, 0.0), Vector::new(0.0, 0.0), Color::blue()),
            Vertex::new(
                Vector::new(0.0, 100.0),
                Vector::new(0.0, 0.0),
                Color::blue(),
            ),
            Vertex::new(
                Vector::new(100.0, 100.0),
                Vector::new(0.0, 0.0),
                Color::blue(),
            ),
            Vertex::new(Vector::new(0.0, 0.0), Vector::new(0.0, 0.0), Color::green()),
            Vertex::new(
                Vector::new(100.0, 100.0),
                Vector::new(0.0, 0.0),
                Color::green(),
            ),
            Vertex::new(
                Vector::new(100.0, 0.0),
                Vector::new(0.0, 0.0),
                Color::green(),
            ),
        ]
        .as_slice(),
    );

    let vert_buf = VertexBuffer::new(Primitive::TriangleFan, vert_arr);
    let vert_buf2 = VertexBuffer::new(Primitive::Triangles, vert_arr_2);

    let event_handler = EventHandler::new(&window);

    window.set_clear_color(Color::red());
    window.poll(EventType::Key);
    while window.is_open() {
        window.poll_events();

        for event in event_handler.fetch() {
            match event.1 {
                Events::Key(Key::Escape, _, Action::Press, _) => {
                    window.close();
                }
                _ => {}
            }
        }

        window.clear();
        window.draw(&vert_buf);
        window.draw(&vert_buf2);
        window.display();
    }
}