293 个版本 (120 个稳定版)
1.4.33 | 2024年7月30日 |
---|---|
1.4.30 | 2024年5月8日 |
1.4.27 | 2024年3月31日 |
1.4.21 | 2023年12月30日 |
0.1.22 | 2020年3月31日 |
1299 在 GUI 中
每月 2,827 次下载
用于 54 个库 (2 个直接使用)
11MB
256K SLoC
包含 (晦涩的 autoconf 代码, 63KB) cfltk/fltk/configure.ac
fltk-sys
FLTK 的原始绑定。这些是通过在 cfltk 头文件上运行 bindgen 生成的。
用法
[dependencies]
fltk-sys = "1.4"
示例代码
use fltk_sys::*;
use std::os::raw::*;
unsafe extern "C" fn cb(_wid: *mut button::Fl_Widget, data: *mut c_void) {
let frame = data as *mut frame::Fl_Box;
frame::Fl_Box_set_label(frame, "Hello World\0".as_ptr() as *const _);
}
fn main() {
unsafe {
fl::Fl_init_all();
image::Fl_register_images();
fl::Fl_lock();
let win = window::Fl_Window_new(100, 100, 400, 300, "Window\0".as_ptr() as *const _);
let frame = frame::Fl_Box_new(0, 0, 400, 200, std::ptr::null());
let but = button::Fl_Button_new(160, 220, 80, 40, "Click\0".as_ptr() as *const _);
window::Fl_Window_end(win);
window::Fl_Window_show(win);
button::Fl_Button_set_callback(but, Some(cb), frame as *mut _);
fl::Fl_run();
}
}
依赖关系
CMake > 3.14, git 和一个 C++17 编译器。开发依赖项基本上与 fltk-rs 相同。
为什么你可能想直接使用 fltk-sys
- 如果你需要一个稳定的 cdylib,你可以调用它(例如作为插件系统)。
- 如果你不需要整个 fltk crate,你可以创建某些元素的包装器。
- fltk-sys,虽然内存和线程不安全,但具有 panic 安全性。
- 如果你需要一个无-std GUI 库,在这种情况下,你可以通过 bindgen 将
std::
前缀替换为libc
(需要将 libc 添加为依赖项)。 - 包装第三方小部件,如 fltk-flow。