diff --git a/vendor/kb_text_shape/kb_text_shape_procs.odin b/vendor/kb_text_shape/kb_text_shape_procs.odin index 83c5a9d6f..991aaeab6 100644 --- a/vendor/kb_text_shape/kb_text_shape_procs.odin +++ b/vendor/kb_text_shape/kb_text_shape_procs.odin @@ -149,3 +149,14 @@ PositionGlyph :: proc(Cursor: ^cursor, Glyph: ^glyph) -> (X, Y: i32) { kbts_PositionGlyph(Cursor, Glyph, &X, &Y) return } + +@(require_results) +ShapeDynamic :: proc(State: ^shape_state, Config: ^shape_config, + MainDirection, RunDirection: direction, + Glyphs: ^[dynamic]glyph) -> c.int { + GlyphCount := u32(len(Glyphs^)) + GlyphCapacity := u32(cap(Glyphs^)) + Res := Shape(State, Config, MainDirection, RunDirection, raw_data(Glyphs^), &GlyphCount, GlyphCapacity) + resize(Glyphs, int(GlyphCount)) + return Res +} \ No newline at end of file