一个Rust的GUI库

Conrod 线条

一个易于使用、完全由Rust编写的2D的GUI库。

目前Rust并未给出官方的GUI库,但是社区已经有很多人跃跃欲试了,其中GitHub上千星的项目貌似就两个,其中就有本文的主角Conrod。不同于另一个很火的项目Azul,Conrod只一个轻量级的库,更加易于使用,学习成本较低。遗憾的是,官方Guide只更新了两小节,深入学习只能通过阅读源代码来完成。本文是Conrod官方README文件的翻译,也包括了官方指南的目录部分。等到指南的正文陆续更新之后,会尽量给大家带来更详尽的中文文档。因个人水平所限,如果翻译出现问题请见谅。由于该库尚未成熟,官方的文档,乃至范例有时都是有问题、无法运行的,在实际学习中请相信自己的判断。

指南


1. 什么是Conrod ?

    - 一个简短的开场白

    - 额外说明(关于截图与视频)

    - 特性概览

    - 可用组件——Widget

            -- 原始组件

            -- 通用组件

    - 直接模式

            -- 它是什么 ?

            -- 如何使用 ?

            -- Conrod是直接的还是保留的 ?

    - “创建者”模式

2.开始 !

    - 安装Rust和Cargo

    - 运行Conrod示例

3. 让我们创建一个图形界面

    - 创建一个基本窗口(使用 piston_window)

    - Conrod设置

    - 实例化组件"Widget"

    - Widget定位与布局

4. 使用和自定义主题

    - 什么是主题"Theme" ?

    - 定制主题

    - 连载主题

5. 设计自定义组件 (使用 Widget trait)

    -  "Widget" trait

    - "widget_style!" 宏

    - "builder_methods!" 宏

    - 制作一个 "Button" 组件

6. 定制图像和窗口后台

    - 后台的实现范例(使用 glium 和 glutin)

7. 内部机制

    - “Ui ”的组件 "Graph"

    - "Ui::set_widgets" ——它是如何工作的 ?

8. 频繁被问及的

这份指南仍处于编纂中。如果某个章节无法点击阅读,它可能尚未完成。

当前状态


我们刚刚到达一个API稳定的模式 !仍将有一些大的变化,但这更可能是新特性的加入而非API的重构。

想清楚的了解我们在哪儿?看这个issues,并且,特别的,1.0.0 milestone

作出贡献


想帮助我们 ?请浏览 Piston's how to contribute guide

许可


以下任何一个许可方式:

* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)

* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)

取决于您的选择。

贡献

除非你明确声明, 否则任何由你主观所做之贡献, 一如 Apache-2.0 license 之规定,应被双重许可,而无其它任何附加条款及条件。

案例资源

[The API Documentation]: https://docs.rs/conrod/

[The Guide]: https://docs.rs/conrod/latest/conrod/guide/index.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。