6 个版本 (3 个重大更新)
0.4.0 | 2021 年 7 月 25 日 |
---|---|
0.3.2 | 2021 年 5 月 13 日 |
0.3.1 | 2021 年 4 月 3 日 |
0.2.0 | 2020 年 9 月 10 日 |
0.1.0 | 2020 年 9 月 8 日 |
#65 在 #嵌入式图形
120KB
669 代码行
watchface
使用 Rust 实现的智能手表表盘
此 crate 提供了手表表盘数据的数据结构,以及一个简单的绘图样式。
lib.rs
:
智能手表表盘实现
此 crate 提供了 Watchface
结构体,它可以包含手表表盘数据。然后它提供了 SimpleWatchfaceStyle
以将此数据绘制到 embedded_graphics::DrawTarget
。
当前状态
此 crate 的当前版本只能绘制时间,样式很丑。
示例
use chrono::Local;
use embedded_graphics::Drawable;
use embedded_graphics::mock_display::MockDisplay;
use embedded_graphics::pixelcolor::Rgb888;
use watchface::SimpleWatchfaceStyle;
use watchface::Watchface;
let style = SimpleWatchfaceStyle::default();
let styled_watchface = Watchface::build()
.with_time(Local::now())
.into_styled(style);
let mut display = MockDisplay::<Rgb888>::new();
display.set_allow_out_of_bounds_drawing(true); //MockDisplay is too small for SimpleWatchfaceStyle
display.set_allow_overdraw(true);
styled_watchface.draw(&mut display);
模拟器
桌面测试手表表盘的模拟器可用。使用以下命令运行示例:
cargo run --example simulator
依赖关系
~5.5MB
~90K SLoC