17 个版本
0.8.3 | 2023 年 11 月 8 日 |
---|---|
0.8.0 | 2023 年 9 月 11 日 |
0.7.3 | 2023 年 1 月 15 日 |
0.6.0 | 2022 年 12 月 25 日 |
0.4.0 | 2022 年 11 月 23 日 |
#240 在 命令行界面
每月 70 次下载
54KB
1.5K SLoC
term2d
终端模拟器的简单 2D 绘图引擎。
示例:绘制一些文本和红色像素
use term2d::model::color::Color;
use term2d::model::event::Event;
use term2d::model::key::Key;
use term2d::model::point::Point;
use term2d::model::rgba::Rgba;
use term2d::view::canvas::halfblock::HalfblockCanvas;
use term2d::view::canvas::Canvas;
use term2d::App;
use term2d::AppBuilder;
fn event_fn(_app: &App, _model: &mut (), event: Event) -> bool {
match event {
Event::Key(key) => match key {
Key::Char('q') => return false,
Key::Ctrl('c') => return false,
_ => {}
},
Event::Resize(_) => {}
Event::Elapse => {}
}
true
}
fn view_fn(app: &App, _model: &(), canvas: &mut HalfblockCanvas) {
canvas.clear();
canvas.draw_text(
&Point::new(2, 0),
&Color::text(),
&format!("press 'q' to quit, frame: {}", app.frame_count),
);
canvas.draw_pixel(&Point::new(10, 7), &Rgba::red());
canvas.display();
}
fn main() {
AppBuilder::new(|_| ())
.event(event_fn)
.view(view_fn)
.fps(20)
.run();
}
依赖关系
~245–325KB