2020-01-16 22:45:47 +03:00
|
|
|
module fontstash
|
|
|
|
|
|
|
|
pub enum FonsFlags {
|
|
|
|
top_left = 1
|
|
|
|
bottom_left = 2
|
|
|
|
}
|
|
|
|
|
|
|
|
pub enum FonsAlign {
|
|
|
|
// Horizontal align
|
|
|
|
left = 1 // Default
|
|
|
|
center = 2
|
|
|
|
right = 4
|
|
|
|
// Vertical align
|
|
|
|
top = 8
|
|
|
|
middle = 16
|
|
|
|
bottom = 32
|
|
|
|
baseline = 64 // Default
|
|
|
|
}
|
|
|
|
|
|
|
|
pub enum FonsErrorCode {
|
|
|
|
// Font atlas is full.
|
|
|
|
atlas_full = 1
|
|
|
|
// Scratch memory used to render glyphs is full, requested size reported in 'val', you may need to bump up FONS_SCRATCH_BUF_SIZE.
|
|
|
|
scratch_full = 2
|
|
|
|
// Calls to fonsPushState has created too large stack, if you need deep state stack bump up FONS_MAX_STATES.
|
|
|
|
states_overflow = 3
|
|
|
|
// Trying to pop too many states fonsPopState().
|
|
|
|
states_underflow = 4
|
|
|
|
}
|
|
|
|
|
|
|
|
pub struct C.FONSparams {
|
|
|
|
width int
|
|
|
|
height int
|
|
|
|
flags char
|
|
|
|
userPtr voidptr
|
|
|
|
// int (*renderCreate)(void* uptr, int width, int height)
|
|
|
|
renderCreate fn(uptr voidptr, width int, height int) int
|
|
|
|
// int (*renderResize)(void* uptr, int width, int height)
|
|
|
|
renderResize fn(uptr voidptr, width int, height int) int
|
|
|
|
// void (*renderUpdate)(void* uptr, int* rect, const unsigned char* data)
|
|
|
|
renderUpdate fn(uptr voidptr, rect &int, data byteptr)
|
|
|
|
// void (*renderDraw)(void* uptr, const float* verts, const float* tcoords, const unsigned int* colors, int nverts)
|
|
|
|
renderDraw fn(uptr voidptr, verts &f32, tcoords &f32, colors &u32, nverts int)
|
|
|
|
// void (*renderDelete)(void* uptr)
|
|
|
|
renderDelete fn(uptr voidptr)
|
|
|
|
}
|
|
|
|
|
|
|
|
pub struct C.FONSquad
|
|
|
|
{
|
|
|
|
x0 f32
|
|
|
|
y0 f32
|
|
|
|
s0 f32
|
|
|
|
t0 f32
|
|
|
|
x1 f32
|
|
|
|
y1 f32
|
|
|
|
s1 f32
|
|
|
|
t1 f32
|
|
|
|
}
|
|
|
|
|
|
|
|
pub struct C.FONStextIter {
|
|
|
|
x f32
|
|
|
|
y f32
|
|
|
|
nextx f32
|
|
|
|
nexty f32
|
|
|
|
scale f32
|
|
|
|
spacing f32
|
|
|
|
codepoint u32
|
|
|
|
isize i16
|
|
|
|
iblur i16
|
|
|
|
font &FONSfont
|
|
|
|
prevGlyphIndex int
|
|
|
|
str byteptr
|
|
|
|
next byteptr
|
|
|
|
end byteptr
|
|
|
|
utf8state u32
|
|
|
|
}
|
|
|
|
|
|
|
|
pub struct C.FONSfont {}
|
|
|
|
|
2020-01-22 23:34:38 +03:00
|
|
|
pub struct C.FONScontext {}
|