#wayland #scanner #client

wayrs-scanner

从xml文件生成wayrs-client的代码

28个版本

0.14.1 2024年5月3日
0.13.2 2024年1月27日
0.12.7 2023年12月9日
0.12.5 2023年11月12日
0.1.2 2022年12月26日

699过程宏

Download history 968/week @ 2024-04-15 1017/week @ 2024-04-22 717/week @ 2024-04-29 531/week @ 2024-05-06 442/week @ 2024-05-13 447/week @ 2024-05-20 440/week @ 2024-05-27 419/week @ 2024-06-03 438/week @ 2024-06-10 479/week @ 2024-06-17 453/week @ 2024-06-24 369/week @ 2024-07-01 486/week @ 2024-07-08 627/week @ 2024-07-15 470/week @ 2024-07-22 714/week @ 2024-07-29

2,347 每月下载量
15 个crate中使用(通过 wayrs-client

MIT 许可证

50KB
1K SLoC

wayrs

Wayland客户端库的简单Rust实现。

设计决策

  • 单事件队列
  • 无内部可变性
  • libwayland 兼容性
  • 支持阻塞、非阻塞和异步IO

项目状态

  • 主crate,wayrs-client,功能完整且稳定。

项目结构

项目分为多个crate

  • wayrs-client:主要crate,实现了Wayland线协议。提供表示打开Wayland套接字的Connection类型,管理对象并处理回调。
  • wayrs-protocols:用于与wayrs-client一起使用的Wayland协议集合。
  • wayrs-utils:用于wayrs-client的实用工具和抽象。包括共享内存分配器等。
  • wayrs-egl:将OpenGL(-ES)引入wayrs。基于EGL_KHR_platform_gbm
  • wayrs-scanner:实现了从.xml文件生成粘合代码的wayrs_client:::generate!宏。核心协议的生成代码已包含在wayrs-client::protocol中。请勿直接使用此crate。
  • wayrs-proto-parser:解析wayland .xml文件。由wayrs-scanner使用。
  • wayrs-core:核心类型、序列化和反序列化实现。可用于客户端和服务器。

使用wayrs的项目

以下项目使用wayrs,可以作为额外的使用示例

MSRV

1.72

依赖项

~3.5MB
~63K SLoC