Conrod 线条简介
一个易于使用、完全由Rust编写的2D的GUI库。
目前Rust并未给出官方的GUI库,但是社区已经有很多人跃跃欲试了,其中GitHub上千星的项目貌似就两个,其中就有本文的主角Conrod。不同于另一个很火的项目Azul,Conrod只一个轻量级的库,更加易于使用,学习成本较低。遗憾的是,官方Guide只更新了两小节,深入学习只能通过阅读源代码来完成。本文是Conrod官方README文件的翻译,也包括了官方指南的目录部分。等到指南的正文陆续更新之后,会尽量给大家带来更详尽的中文文档。
指南
- 它是什么 ?
- 如何使用 ?
- Conrod是直接的还是保留的 ?
- 原始组件
- 通用组件
- 一个简短的开场白
- 额外说明(关于截图与视频)
- 特性概览
- 可用组件——Widget
- 直接模式
- “创建者”模式
- 开始 !
- 安装Rust和Cargo
- 运行Conrod示例
- 让我们创建一个图形界面
- 创建一个基本窗口(使用 piston_window)
- Conrod设置
- 实例化组件Widget
- Widget定位与布局
- 使用和自定义主题
- 什么是主题Theme ?
- 定制主题
- 连载主题
- 设计自定义组件 (使用 Widget trait)
- Widget trait
- widget_style! 宏
- builder_methods! 宏
- 制作一个Button 组件
- 定制图像和窗口后台
- 后台的实现范例(使用 glium 和 glutin)
- 内部机制
- Ui 的组件 Graph
- Ui::set_widgets ——它是如何工作的 ?
- 频繁被问及的
这份指南仍处于编纂中。如果某个章节无法点击阅读,它可能尚未完成。
Crates模块
Crate
Description
conrod_core
The fundamentals for any conrod project.
conrod_derive
Provides the WidgetCommon and WidgetStyle derive macros.
conrod_winit
Simplifies using conrod_core with winit
conrod_gfx
Simplifies using conrod_core with the gfx ecosystem
conrod_glium
Simplifies using conrod_core with glium
conrod_piston
Simplifies using conrod_core with piston
conrod_vulkano
Simplifies using conrod_core with vulkano
当前状态
我们刚刚到达一个API稳定的模式 !仍将有一些大的变化,但这更可能是新特性的加入而非API的重构。
想清楚的了解我们在哪儿?看这个issues,并且,特别的,1.0.0 milestone。
作出贡献
想帮助我们 ?请浏览 Piston's how to contribute guide。
许可
以下任何一个许可方式:
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
根据您的选择。
Contributions
除非你明确声明, 否则任何由你主观所做之贡献, 一如 Apache-2.0 license 之规定,应被双重许可,而无其它任何附加条款及条件。
案例资源
- Google Noto (Apache2)