#异步 #窗口 #窗口们 #tokio #rx #标题

witas

Rust 下的 Windows 异步窗口库

23 个版本 (10 个重大更改)

0.11.2 2023年10月10日
0.11.0 2023年8月28日
0.10.0 2023年7月27日
0.6.2 2023年3月23日
0.2.0 2022年11月23日

#511GUI

Download history 25/week @ 2024-03-27 50/week @ 2024-04-03 1/week @ 2024-04-17 661/week @ 2024-04-24

每月104 次下载
用于 mltg

MIT 许可证

155KB
4.5K SLoC

witas

wita at crates.io wita at docs.rs

Rust 下的 Windows 异步窗口库

简单示例

#[tokio::main]
async fn main() {
    let mut rx = witas::EventReceiver::new();
    let _window = witas::Window::builder()
        .title("witas hello")
        .inner_size(witas::LogicalSize::new(640, 480))
        .set_receiver(&rx)
        .await
        .unwrap();
    loop {
        let (event, _) = rx.recv().await; 
        println!("{:?}", event);
        if let witas::Event::Closed = event {
            break;
        }
    }
}

许可协议下 MIT 许可协议

版权所有 (c) 2022 LNSEAB


lib.rs:

Rust 下的 Windows 异步窗口库

示例

#[tokio::main]
async fn main() {
    let mut rx = witas::EventReceiver::new();
    let _window = witas::Window::builder()
        .title("witas hello")
        .inner_size(witas::LogicalSize::new(640, 480))
        .set_receiver(&rx)
        .await
        .unwrap();
    loop {
        let (event, _) = rx.recv().await;
        println!("{:?}", event);
        if let witas::Event::Closed = event {
            break;
        }
    }
}

注意

witas 使用 WM_APP。不要直接将 WM_APP 发送到 witas 的 UI 线程。

依赖项

~134MB
~2M SLoC