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#嵌入式图形

GPL-3.0-or-later

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