1 module stb.image.binding; 2 3 import core.stdc.stdio : FILE; 4 5 6 enum 7 { 8 STBI_default, 9 STBI_grey, 10 STBI_grey_alpha, 11 STBI_rgb, 12 STBI_rgb_alpha 13 } 14 15 extern(C) @nogc nothrow: 16 17 struct stbi_io_callbacks 18 { 19 int function(void* user, char* data, int size) read; 20 void function(void* user, int n) skip; 21 int function(void* user) eof; 22 } 23 24 ubyte* stbi_load_from_memory(in void* buffer, int len, int* x, int* y, int* channels_in_file, int desired_channels); 25 ubyte* stbi_load_from_callbacks(const(stbi_io_callbacks)* clbk, void* user, int* x, int* y, int* channels_in_file, int desired_channels); 26 27 ubyte* stbi_load_gif_from_memory(in void* buffer, int len, int** delays, int* x, int* y, int* z, int* comp, int req_comp); 28 29 ubyte* stbi_load(const(char)* filename, int* x, int* y, int* channels_in_file, int desired_channels); 30 ubyte* stbi_load_from_file(FILE* f, int* x, int* y, int* channels_in_file, int desired_channels); 31 32 ushort* stbi_load_16_from_memory(in void* buffer, int len, int* x, int* y, int* channels_in_file, int desired_channels); 33 ushort* stbi_load_16_from_callbacks(const(stbi_io_callbacks)* clbk, void* user, int* x, int* y, int* channels_in_file, int desired_channels); 34 35 ushort* stbi_load_16(const(char)* filename, int* x, int* y, int* channels_in_file, int desired_channels); 36 ushort* stbi_load_from_file_16(FILE* f, int* x, int* y, int* channels_in_file, int desired_channels); 37 38 float* stbi_loadf_from_memory(in void* buffer, int len, int* x, int* y, int* channels_in_file, int desired_channels); 39 float* stbi_loadf_from_callbacks(const(stbi_io_callbacks)* clbk, void* user, int* x, int* y, int* channels_in_file, int desired_channels); 40 41 float* stbi_loadf(const(char)* filename, int* x, int* y, int* channels_in_file, int desired_channels); 42 float* stbi_loadf_from_file(FILE* f, int* x, int* y, int* channels_in_file, int desired_channels); 43 44 void stbi_hdr_to_ldr_gamma(float gamma); 45 void stbi_hdr_to_ldr_scale(float scale); 46 47 void stbi_ldr_to_hdr_gamma(float gamma); 48 void stbi_ldr_to_hdr_scale(float scale); 49 50 int stbi_is_hdr_from_callbacks(const(stbi_io_callbacks)* clbk, void* user); 51 int stbi_is_hdr_from_memory(in void* buffer, int len); 52 53 int stbi_is_hdr(const(char)* filename); 54 int stbi_is_hdr_from_file(FILE* f); 55 56 const(char)* stbi_failure_reason(); 57 58 void stbi_image_free(void* retval_from_stbi_load); 59 60 int stbi_info_from_memory(in void* buffer, int len, int* x, int* y, int* comp); 61 int stbi_info_from_callbacks(const(stbi_io_callbacks)* clbk, void* user, int* x, int* y, int* comp); 62 int stbi_is_16_bit_from_memory(in void* buffer, int len); 63 int stbi_is_16_bit_from_callbacks(const(stbi_io_callbacks)* clbk, void* user); 64 65 int stbi_info(const(char)* filename, int* x, int* y, int* comp); 66 int stbi_info_from_file(FILE* f, int* x, int* y, int* comp); 67 int stbi_is_16_bit(const(char)* filename); 68 int stbi_is_16_bit_from_file(FILE* f); 69 70 void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply); 71 72 void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert); 73 74 void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip); 75 76 char* stbi_zlib_decode_malloc_guesssize(const(char)* buffer, int len, int initial_size, int* outlen); 77 char* stbi_zlib_decode_malloc_guesssize_headerflag(const(char)* buffer, int len, int initial_size, int* outlen, int parse_header); 78 char* stbi_zlib_decode_malloc(const(char)* buffer, int len, int* outlen); 79 int stbi_zlib_decode_buffer(char* obuffer, int olen, const(char)* ibuffer, int ilen); 80 81 char* stbi_zlib_decode_noheader_malloc(const(char)* buffer, int len, int* outlen); 82 int stbi_zlib_decode_noheader_buffer(char* obuffer, int olen, const(char)* ibuffer, int ilen);