diff options
| author | Gabriel Schneider <[email protected]> | 2026-08-09 10:41:33 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-10 09:17:07 -0300 |
| commit | 9085cb5bfdd0b78ff3a62c0c71fc231dd7b5052a (patch) | |
| tree | 91fce278abc85e4f7491de8b5f02184c8a2d5a56 /src/pdf_bridge.h | |
| parent | 2b1fac6fecbf7d7cc08f9dad24687b05e9968c9a (diff) | |
| download | pardes-9085cb5bfdd0b78ff3a62c0c71fc231dd7b5052a.tar.gz pardes-9085cb5bfdd0b78ff3a62c0c71fc231dd7b5052a.zip | |
replace ArrayLists with bounded storage
Diffstat (limited to 'src/pdf_bridge.h')
| -rw-r--r-- | src/pdf_bridge.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/pdf_bridge.h b/src/pdf_bridge.h index bda1eea1..40eaa46c 100644 --- a/src/pdf_bridge.h +++ b/src/pdf_bridge.h @@ -14,6 +14,27 @@ extern "C" { */ typedef struct pardes_pdf_document pardes_pdf_document; +typedef void *(*pardes_pdf_alloc_fn)(void *user, size_t size); +typedef void *(*pardes_pdf_realloc_fn)( + void *user, + void *pointer, + size_t size +); +typedef void (*pardes_pdf_free_fn)(void *user, void *pointer); + +typedef struct pardes_pdf_allocator { + void *user; + pardes_pdf_alloc_fn alloc; + pardes_pdf_realloc_fn realloc; + pardes_pdf_free_fn free; +} pardes_pdf_allocator; + +/* + * Install one process-global allocator, or restore libc/default MuPDF + * allocation by passing NULL. Changing it while a document is live fails. + */ +int pardes_pdf_set_allocator(const pardes_pdf_allocator *allocator); + typedef struct pardes_pdf_raster_layout { int width; int height; |
