Text rendering helpers (glyph cache, batch builder, font engine) on top of mizchi/gfx and mizchi/font, extracted from kagura
Dependencies
pub trait FontEngine {
fn measure(Self, run : TextRun) -> TextMetrics
fn shape(Self, run : TextRun) -> Array[GlyphQuad] raise
}pub trait TextBatchBuilder {
fn build_draw_commands(Self, target : ImageHandle, glyphs : Array[GlyphQuad], shader : ShaderHandle) -> Array[DrawTrianglesCommand] raise
}impl TextBatchBuilder for SimpleTextBatchBuilderfn build_draw_commands(self : SimpleTextBatchBuilder, target : ImageHandle, glyphs : Array[GlyphQuad], shader : ShaderHandle) -> Array[DrawTrianglesCommand] raisefn TextRenderer::new(font : TTFont, atlas_size : Int, base_page_id : Int, pipeline_id : Int) -> TextRendererfn TextRenderer::new_with_options(font : TTFont, atlas_size : Int, base_page_id : Int, pipeline_id : Int, max_pages : Int) -> TextRendererfn TextRenderer::render_text(self : TextRenderer, text : String, size_px : Double, x : Double, y : Double, dst : ImageHandle, shader : ShaderHandle, blend : BlendMode, uniform_dwords : Array[Int]) -> Array[DrawTrianglesCommand]fn load_text_renderer(name : String, atlas_size : Int, page_id : Int, pipeline_id : Int) -> TextRenderer?Text rendering helpers (glyph cache, batch builder, font engine) on top of mizchi/gfx and mizchi/font, extracted from kagura
Dependencies