Go to file
2016-01-03 15:33:28 +01:00
examples Moved stuff around + documentation 2016-01-02 21:26:13 +01:00
src Removed unused file 2016-01-03 15:29:30 +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.2 and added homepage link 2016-01-03 15:30:33 +01:00
LICENSE Initial version 2015-11-22 18:55:38 +01:00
README.md Updated *nix status 2016-01-03 15:33:28 +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 Mac, Linux and Windows are the current supported platforms. X11 (Linux/FreeBSD/etc) support has been tested on Ubuntu (x64). Bug report(s) for other OSes/CPUs are welcome!

Build instructions

cargo build
cargo run --example noise 

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

mac_screenshot