13个版本 (1个稳定版本)
1.1.0 | 2022年11月18日 |
---|---|
1.1.0-beta.1 | 2022年11月16日 |
1.0.0-beta.3 | 2022年9月21日 |
1.0.0-beta.1 | 2022年8月29日 |
0.1.2 | 2022年5月5日 |
在 可视化 中排名 #151
每月下载量 28
在 rtop-rs 中使用
34KB
622 行
Rtop Dev
用于制作Rtop插件的开发库
快速示例
Rtop 允许您创建自定义小部件的插件。首先,创建一个新的项目
cargo new --lib MyPlugin
然后,更新您的 Cargo.toml
文件。它应该看起来像这样
[package]
name = "my_plugin"
version = "0.1.0"
edition = "2021"
[dependencies]
rtop_dev = "^1.1.0"
[lib]
name = "my_plugin"
crate-type = ["cdylib"]
然后,编辑您的 src/lib.rs
以包含如下内容
struct FooWidget {}
impl rtop_dev::widget::Widget for FooWidget {
fn display(&mut self, _height: i32, _width: i32) -> String {
String::from("Hello World RTop!")
}
}
#[no_mangle]
pub extern "Rust" fn init_foo() -> (Box<dyn rtop_dev::plugin::Plugin>, bool) {
(Box::new(FooWidget{}), false)
}
要构建您的库,只需运行
cargo build --lib --release
您的插件应位于此处 target/release/libmy_plugin.so
。
请记住这些事情,对于您想要创建的每个小部件,您必须创建一个名为 init_{WIDGET}
的函数,该函数返回一个 Box<dyn rtop_dev::plugin::Plugin
和一个 bool
,该布尔值定义您的 小部件是否应接收用户输入。不要忘记在每个 init
函数前添加 #[no_mangle]
。否则,它将不会被导出