mirror of
https://github.com/italicsjenga/rust_minifb.git
synced 2024-12-23 19:31:30 +11:00
examples | ||
src | ||
.gitignore | ||
.travis.yml | ||
appveyor.yml | ||
build.rs | ||
Cargo.toml | ||
LICENSE | ||
README.md |
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.4"
Example
extern crate minifb;
const WIDTH: usize = 640;
const HEIGHT: usize = 360;
fn main() {
let mut buffer: Vec<u32> = vec![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 and 32-bit) 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)