Go to file
2016-01-04 23:52:06 +01:00
examples Moved stuff around + documentation 2016-01-02 21:26:13 +01:00
src Mac fixes 2016-01-04 21:14:06 +01:00
.gitignore Initial version 2015-11-22 18:55:38 +01:00
.travis.yml Added travis config 2016-01-04 22:44:24 +01:00
appveyor.yml Fixed appveyor config 2016-01-04 23:38:44 +01:00
build.rs Removed Windows part as it's fully in Rust now 2016-01-02 12:00:19 +01:00
Cargo.toml Mac fixes 2016-01-04 21:14:06 +01:00
LICENSE Initial version 2015-11-22 18:55:38 +01:00
README.md Added note about 32-bit Windows 2016-01-04 23:52:06 +01:00

Crates.io Build Status Build Status

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:

Documentation

Usage

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

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 (64-bit, 32-bit will be fixed soon) 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