13个版本 (1个稳定版本)

1.1.0 2022年11月18日
1.1.0-beta.12022年11月16日
1.0.0-beta.32022年9月21日
1.0.0-beta.12022年8月29日
0.1.2 2022年5月5日

可视化 中排名 #151

每月下载量 28
rtop-rs 中使用

MPL-2.0 许可证

34KB
622

Rtop Dev

Made with Rust Use git

用于制作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]。否则,它将不会被导出

贡献者

SquitchYT

许可证

RTop | Mozilla Public License 2.0

依赖项