Go to file
2016-01-03 13:37:17 +01:00
examples Moved stuff around + documentation 2016-01-02 21:26:13 +01:00
src Added X11 keyboard support 2016-01-03 13:37:17 +01:00
.gitignore Initial version 2015-11-22 18:55:38 +01:00
build.rs Removed Windows part as it's fully in Rust now 2016-01-02 12:00:19 +01:00
Cargo.toml Bump to 0.2.1 2016-01-02 22:16:00 +01:00
LICENSE Initial version 2015-11-22 18:55:38 +01:00
README.md Correct link to example 2016-01-03 08:31:51 +01:00

rust_minifb

rust_minifb (Mini FrameBuffer) is a small cross platform library written in Rust and that makes it easy to render (32-bit) pixels in a window. An example is the best way to show how it works:

Usage

# Cargo.toml
[dependencies]
minifb = "0.2.1"

Example

extern crate minifb;

const WIDTH: usize = 640;
const HEIGHT: usize = 360;

fn main() {
    let mut buffer: [u32; WIDTH * HEIGHT] = [0; WIDTH * HEIGHT];

    let mut window = match minifb::Window::new("Test - ESC to exit", WIDTH, HEIGHT, Scale::X1) {
        Ok(win) => win,
        Err(err) => {
            println!("Unable to create window {}", err);
            return;
        }
    };

    while window.is_open() && !window.is_key_down(Key::Escape) {
        for i in buffer.iter_mut() {
            *i = 0; // write something more funny here!
        }

        window.update(&buffer);
    }
}

Status

Currently Windows and Mac are the current supported platforms. X11 (Linux/FreeBSD/etc) support is coming soon.

Build instructions

cargo build
cargo run --example noise 

This will run the noise example which should look something like this (Mac screenshot)

mac_screenshot