7 个版本
0.1.6 | 2024年6月22日 |
---|---|
0.1.5 | 2021年11月13日 |
0.1.4 | 2021年1月21日 |
0.1.3 | 2020年10月17日 |
0.1.0 | 2020年5月23日 |
#31 in 缓存
9,257 每月下载
在 114 个 Crates 中使用 (通过 glyph_brush)
65KB
890 行
glyph_brush_draw_cache
用于 glyph_brush 中的 ab_glyph 的光栅化缓存。
- 管理一个纹理。将符号绘制到其中,并为符号提供纹理矩形查找。
- 需要时自动重用和重新排序。
use glyph_brush_draw_cache::DrawCache;
// build a cache with default settings
let mut draw_cache = DrawCache::builder().build();
// queue up some glyphs to store in the cache
for (font_id, glyph) in glyphs {
draw_cache.queue_glyph(font_id, glyph);
}
// process everything in the queue, rasterizing & uploading as necessary
draw_cache.cache_queued(&fonts, |rect, tex_data| update_texture(rect, tex_data))?;
// access a given glyph's texture position & pixel position for the texture quad
match draw_cache.rect_for(font_id, &glyph) {
Some((tex_coords, px_coords)) => {}
None => {/* The glyph has no outline, or wasn't queued up to be cached */}
}
示例
查看 draw_cache_guts 示例以了解其工作方式 (从顶层运行)。
cargo run --example draw_cache_guts
依赖项
~1.5MB
~27K SLoC