rovella 0.1.6

A game library that, at present, only consists of a windowing and events wrapper
# Rovella

#### A game engine/library which will be multipurpose but will be primarily aimed at 2D games and visual novels.

#### Note: This version is unstable


## Features


- Wraps Platform windowing code
- Wraps Platform events
- Wrappers are thin with minimal overhead (or at least planned minimal overhead)
- Supports the raw-window-handle for xcb and win32 (or linux and windows)

### Planned


- New features will have optional usage
- Multithreading API with SIMD, OMP, GPGPU and standard threading support
- Some rendering helper methods/functions (similar to glfw)
- A renderer (this is long term)
- An input manager

## Platforms:


- Windows (Full Support - Not well tested)
- Linux (X11 and XCB) (Partial Support - Window Close Event not working - Not well tested)
- MacOS (Planned)

## Example Program

```rust
fn main() {
    let mut app: rovella::App = rovella::App::create(
        "hello world",
        15,
        15,
        1920,
        1080
    ).unwrap(); // Only if your lazy :)

    while app.is_running() {
        let event_op = app.poll_events();
        if event_op.is_none() {
            continue;
        }

        let event = event_op.unwrap();

        match event {
            rovella::Event::WinClose => {
                app.quit();
            }
            rovella::Event::KeyDown(key) => {
                if key == rovella::Key::Escape {
                    app.quit();
                }
            }
            _ => {}
        }
    }

    app.shutdown();
}

```