6 #ifndef INCLUDED_IMF_CONTEXT_INIT_H
7 #define INCLUDED_IMF_CONTEXT_INIT_H
22 enum class ContextFileType
33 _initializer.error_handler_fn = errfn;
41 _initializer.alloc_fn = allocfn;
42 _initializer.free_fn = freefn;
57 _initializer.user_data = user;
58 _initializer.read_fn = readfn;
59 _initializer.size_fn = sizefn;
60 _initializer.destroy_fn = destroyfn;
61 _ctxt_type = ContextFileType::READ;
72 _initializer.user_data = user;
73 _initializer.read_fn = readfn;
74 _initializer.size_fn = sizefn;
75 _initializer.write_fn = writefn;
76 _initializer.destroy_fn = destroyfn;
77 _ctxt_type = (readfn) ? ContextFileType::READ_WRITE
78 : ContextFileType::WRITE;
84 _initializer.max_image_width =
w;
85 _initializer.max_image_height =
h;
91 _initializer.max_tile_width =
w;
92 _initializer.max_tile_height =
h;
98 _initializer.zip_level = zl;
104 _initializer.dwa_quality = dq;
133 void setFlag (
const int flag,
bool onoff)
136 (_initializer.flags & ~(flag)) | (onoff ? flag : 0);
142 ContextFileType _ctxt_type = ContextFileType::TEMP;
143 IStream* _prov_stream =
nullptr;
148 #endif // INCLUDED_IMF_CONTEXT_INIT_H
void(* exr_memory_free_func_t)(void *ptr)
Function pointer used to hold a free-like routine.
ContextInitializer & setErrorHandler(exr_error_handler_cb_t errfn) noexcept
Struct used to pass function pointers into the context initialization routines.
#define EXR_CONTEXT_FLAG_SILENT_HEADER_PARSE
Disables error messages while parsing headers.
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
ContextInitializer & setCustomOutputIO(void *user, exr_write_func_ptr_t writefn, exr_destroy_stream_func_ptr_t destroyfn, exr_read_func_ptr_t readfn=nullptr, exr_query_size_func_ptr_t sizefn=nullptr) noexcept
ContextInitializer & setMaxTileSize(int w, int h) noexcept
int64_t(* exr_write_func_ptr_t)(exr_const_context_t ctxt, void *userdata, const void *buffer, uint64_t sz, uint64_t offset, exr_stream_error_func_ptr_t error_cb)
ContextInitializer & setCustomInputIO(void *user, exr_read_func_ptr_t readfn, exr_query_size_func_ptr_t sizefn, exr_destroy_stream_func_ptr_t destroyfn) noexcept
ContextInitializer & silentHeaderParse(bool onoff) noexcept
ContextInitializer provides a basic type to initialize a Context with.
#define EXR_CONTEXT_FLAG_DISABLE_CHUNK_RECONSTRUCTION
Disables reconstruction logic upon corrupt / missing data chunks.
int64_t(* exr_read_func_ptr_t)(exr_const_context_t ctxt, void *userdata, void *buffer, uint64_t sz, uint64_t offset, exr_stream_error_func_ptr_t error_cb)
Read custom function pointer.
ContextInitializer & strictHeaderValidation(bool onoff) noexcept
void(* exr_error_handler_cb_t)(exr_const_context_t ctxt, exr_result_t code, const char *msg)
Error callback function.
void(* exr_destroy_stream_func_ptr_t)(exr_const_context_t ctxt, void *userdata, int failed)
ContextInitializer & writeLegacyHeader(bool onoff) noexcept
GLfloat GLfloat GLfloat GLfloat h
#define EXR_CONTEXT_FLAG_STRICT_HEADER
context flag which will enforce strict header validation checks and may prevent reading of files whic...
void *(* exr_memory_allocation_func_t)(size_t bytes)
Function pointer used to hold a malloc-like routine.
int64_t(* exr_query_size_func_ptr_t)(exr_const_context_t ctxt, void *userdata)
#define EXR_DEFAULT_CONTEXT_INITIALIZER
Simple macro to initialize the context initializer with default values.
ContextInitializer & setAllocationFunctions(exr_memory_allocation_func_t allocfn, exr_memory_free_func_t freefn) noexcept
Context provides a wrapper around the Core library context object.
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
GLubyte GLubyte GLubyte GLubyte w
#define EXR_CONTEXT_FLAG_WRITE_LEGACY_HEADER
Writes an old-style, sorted header with minimal information.
ContextInitializer & setDWAQuality(float dq) noexcept
ContextInitializer & setMaxImageSize(int w, int h) noexcept
ContextInitializer & disableChunkReconstruction(bool onoff) noexcept
ContextInitializer & setZipLevel(int zl) noexcept