| 1 | module fontstash |
| 2 | |
| 3 | // Constructor and destructor. |
| 4 | fn C.fonsCreateInternal(params &C.FONSparams) &C.FONScontext |
| 5 | fn C.fonsDeleteInternal(s &C.FONScontext) |
| 6 | |
| 7 | fn C.fonsSetErrorCallback(s &C.FONScontext, callback fn (voidptr, int, int), uptr voidptr) |
| 8 | |
| 9 | // Returns current atlas size. |
| 10 | fn C.fonsGetAtlasSize(s &C.FONScontext, width &int, height &int) |
| 11 | |
| 12 | // Expands the atlas size. |
| 13 | fn C.fonsExpandAtlas(s &C.FONScontext, width i32, height i32) i32 |
| 14 | |
| 15 | // Resets the whole stash. |
| 16 | fn C.fonsResetAtlas(s &C.FONScontext, width i32, height i32) i32 |
| 17 | |
| 18 | // Add fonts |
| 19 | fn C.fonsGetFontByName(s &C.FONScontext, name &char) i32 |
| 20 | fn C.fonsAddFallbackFont(s &C.FONScontext, base i32, fallback i32) i32 |
| 21 | fn C.fonsAddFontMem(s &C.FONScontext, name &char, data &u8, dataSize i32, freeData i32) i32 |
| 22 | |
| 23 | // State handling |
| 24 | fn C.fonsPushState(s &C.FONScontext) |
| 25 | fn C.fonsPopState(s &C.FONScontext) |
| 26 | fn C.fonsClearState(s &C.FONScontext) |
| 27 | |
| 28 | // State setting |
| 29 | fn C.fonsSetSize(s &C.FONScontext, size f32) |
| 30 | fn C.fonsSetColor(s &C.FONScontext, color u32) |
| 31 | fn C.fonsSetSpacing(s &C.FONScontext, spacing f32) |
| 32 | fn C.fonsSetBlur(s &C.FONScontext, blur f32) |
| 33 | fn C.fonsSetAlign(s &C.FONScontext, align i32) |
| 34 | fn C.fonsSetFont(s &C.FONScontext, font i32) |
| 35 | |
| 36 | // Draw text |
| 37 | fn C.fonsDrawText(s &C.FONScontext, x f32, y f32, str &char, end &char) f32 |
| 38 | |
| 39 | // Measure text |
| 40 | fn C.fonsTextBounds(s &C.FONScontext, x f32, y f32, str &char, end &char, bounds &f32) f32 |
| 41 | fn C.fonsLineBounds(s &C.FONScontext, y f32, miny &f32, maxy &f32) |
| 42 | fn C.fonsVertMetrics(s &C.FONScontext, ascender &f32, descender &f32, lineh &f32) |
| 43 | |
| 44 | // Text iterator |
| 45 | fn C.fonsTextIterInit(s &C.FONScontext, iter &C.FONStextIter, x f32, y f32, str &char, end &char) i32 |
| 46 | fn C.fonsTextIterNext(s &C.FONScontext, iter &C.FONStextIter, quad &C.FONSquad) i32 |
| 47 | |
| 48 | // Pull texture changes |
| 49 | fn C.fonsGetTextureData(s &C.FONScontext, width &int, height &int) &char |
| 50 | fn C.fonsValidateTexture(s &C.FONScontext, dirty &int) i32 |
| 51 | |
| 52 | // Draws the stash texture for debugging |
| 53 | fn C.fonsDrawDebug(s &C.FONScontext, x f32, y f32) |
| 54 | |