58 个版本
0.27.0 | 2024年5月20日 |
---|---|
0.25.0 | 2023年8月2日 |
0.24.0 | 2023年2月18日 |
0.23.0 | 2022年4月19日 |
0.5.0 | 2016年3月4日 |
#56 在 渲染 分类中
9,556 每月下载量
在 不到 72 个 crate 中使用
335KB
8K SLoC
minifb 是一个用 Rust 编写的跨平台库,它使设置窗口和(可选)显示 32 位像素缓冲区变得容易。它还使从键盘和鼠标获取输入变得容易。请注意,minifb 主要设计用于原型设计,可能不包括完整窗口处理库中的所有功能。示例是最好的展示它如何工作的方式
用法
# Cargo.toml
[dependencies]
minifb = "0.27"
示例
use minifb::{Key, Window, WindowOptions};
const WIDTH: usize = 640;
const HEIGHT: usize = 360;
fn main() {
let mut buffer: Vec<u32> = vec![0; WIDTH * HEIGHT];
let mut window = Window::new(
"Test - ESC to exit",
WIDTH,
HEIGHT,
WindowOptions::default(),
)
.unwrap_or_else(|e| {
panic!("{}", e);
});
// Limit to max ~60 fps update rate
window.set_target_fps(60);
while window.is_open() && !window.is_key_down(Key::Escape) {
for i in buffer.iter_mut() {
*i = 0; // write something more funny here!
}
// We unwrap here as we want this code to exit if it fails. Real applications may want to handle this in a different way
window
.update_with_buffer(&buffer, WIDTH, HEIGHT)
.unwrap();
}
}
状态
目前支持的平台有 macOS、Linux 和 Windows(64 位和 32 位)。在 Ubuntu(x64)上已测试过 X11(Linux/FreeBSD 等)支持。Linux Wayland 支持也是可用的。欢迎提交其他操作系统/处理器的错误报告!注意:在 0.13 版本之后,Redox 没有更新,需要一些工作才能再次使其工作。欢迎 PR。
构建说明
在 Linux 上,您可能需要先安装以下依赖项
sudo apt install libxkbcommon-dev libwayland-cursor0 libwayland-dev
cargo build
cargo run --example noise
这将运行 noise 示例
许可证
根据您选择的协议许可
- Apache 许可证 2.0 版 (LICENSE-APACHE 或 http://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交的工作,将按照上述协议双重许可,不附加任何其他条款或条件。
依赖关系
~0–12MB
~139K SLoC