mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
thirdparty: update all sokol and fontstash headers with their upstream versions (#16940)
This commit is contained in:
@@ -2,13 +2,27 @@ module sfons
|
||||
|
||||
import fontstash
|
||||
import sokol.f
|
||||
import sokol.memory
|
||||
|
||||
// keep v from warning about unused imports
|
||||
const used_import = f.used_import + fontstash.used_import + 1
|
||||
|
||||
// create a new Context/font atlas, for rendering glyphs, given its dimensions `width` and `height`
|
||||
[inline]
|
||||
pub fn create(width int, height int, flags int) &fontstash.Context {
|
||||
return C.sfons_create(width, height, flags)
|
||||
assert is_power_of_two(width)
|
||||
assert is_power_of_two(height)
|
||||
allocator := C.sfons_allocator_t{
|
||||
alloc: memory.salloc
|
||||
free: memory.sfree
|
||||
user_data: voidptr(0x100005f0)
|
||||
}
|
||||
desc := C.sfons_desc_t{
|
||||
width: width
|
||||
height: height
|
||||
allocator: allocator
|
||||
}
|
||||
return C.sfons_create(&desc)
|
||||
}
|
||||
|
||||
[inline]
|
||||
@@ -25,3 +39,7 @@ pub fn rgba(r u8, g u8, b u8, a u8) u32 {
|
||||
pub fn flush(ctx &fontstash.Context) {
|
||||
C.sfons_flush(ctx)
|
||||
}
|
||||
|
||||
fn is_power_of_two(x int) bool {
|
||||
return x in [2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768]
|
||||
}
|
||||
|
||||
@@ -1,8 +1,26 @@
|
||||
module sfons
|
||||
|
||||
import fontstash
|
||||
import sokol.memory
|
||||
|
||||
fn C.sfons_create(width int, height int, flags int) &fontstash.Context
|
||||
[typedef]
|
||||
pub struct C.sfons_allocator_t {
|
||||
pub:
|
||||
alloc memory.FnAllocatorAlloc
|
||||
free memory.FnAllocatorFree
|
||||
user_data voidptr
|
||||
}
|
||||
|
||||
[typedef]
|
||||
pub struct C.sfons_desc_t {
|
||||
pub:
|
||||
width int // initial width of font atlas texture (default: 512, must be power of 2)
|
||||
height int // initial height of font atlas texture (default: 512, must be power of 2)
|
||||
allocator C.sfons_allocator_t // optional memory allocation overrides
|
||||
}
|
||||
|
||||
fn C.sfons_create(desc &C.sfons_desc_t) &fontstash.Context
|
||||
fn C.sfons_destroy(ctx &fontstash.Context)
|
||||
fn C.sfons_rgba(r u8, g u8, b u8, a u8) u32
|
||||
fn C.sfons_flush(ctx &fontstash.Context)
|
||||
|
||||
fn C.sfons_rgba(r u8, g u8, b u8, a u8) u32
|
||||
|
||||
Reference in New Issue
Block a user