mirror of
https://github.com/Ed94/VEFontCache-Odin.git
synced 2025-08-06 06:52:44 -07:00
Add assignable allocator support to stb_truetype
This commit is contained in:
10824
thirdparty/stb/src/gb/gb.h
vendored
Normal file
10824
thirdparty/stb/src/gb/gb.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2
thirdparty/stb/src/stb_image.c
vendored
Normal file
2
thirdparty/stb/src/stb_image.c
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
#define STB_IMAGE_IMPLEMENTATION
|
||||
#include "stb_image.h"
|
7897
thirdparty/stb/src/stb_image.h
vendored
Normal file
7897
thirdparty/stb/src/stb_image.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
37
thirdparty/stb/src/stb_truetype.h
vendored
37
thirdparty/stb/src/stb_truetype.h
vendored
@@ -412,6 +412,43 @@ int main(int arg, char **argv)
|
||||
}
|
||||
#endif
|
||||
|
||||
#pragma region ODIN: CUSTOM ALLOCATOR
|
||||
|
||||
#ifdef STB_TRUETYPE_IMPLEMENTATION
|
||||
#define GB_IMPLEMENTATION
|
||||
#endif
|
||||
#include "gb/gb.h"
|
||||
|
||||
#ifdef STBTT_STATIC
|
||||
#define STBTT_DEF static
|
||||
#else
|
||||
#define STBTT_DEF extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
STBTT_DEF void stbtt_SetAllocator( gbAllocator allocator );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef STBTT_malloc
|
||||
#define STBTT_malloc(x,u) ((void)(u), gb_alloc(stbtt__allocator, x))
|
||||
#define STBTT_free(x,u) ((void)(u), gb_free(stbtt__allocator, x))
|
||||
#endif
|
||||
|
||||
#ifdef STB_TRUETYPE_IMPLEMENTATION
|
||||
gb_global gbAllocator stbtt__allocator = { gb_heap_allocator_proc, NULL };
|
||||
|
||||
STBTT_DEF void stbtt_SetAllocator( gbAllocator allocator ) {
|
||||
stbtt__allocator = allocator;
|
||||
}
|
||||
#endif
|
||||
|
||||
#pragma endregion ODIN: CUSTOM ALLOCATOR
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
Reference in New Issue
Block a user