12# include <sys/types.h>
47 if (r_colorspace && r_colorspace[0]) {
59 const char *filepath_colorspace = (filepath) ?
62 if (filepath_colorspace) {
125 const char *filepath,
131 if (mem ==
nullptr) {
140 ibuf = type->
load(mem,
size, flags, file_colorspace);
149 CLOG_ERROR(&
LOG,
"%s: unknown file-format (%s)", __func__, descr);
157 const char *filepath,
160 ImBuf *ibuf =
nullptr;
167 if (mmap_file ==
nullptr) {
168 CLOG_ERROR(&
LOG,
"%s: couldn't get mapping for \"%s\"", __func__, filepath);
215 const size_t max_thumb_size,
220 if (type ==
nullptr) {
224 ImBuf *ibuf =
nullptr;
233 filepath, flags, max_thumb_size, file_colorspace, &width, &height);
254 if (width > 0 && height > 0) {
File and directory operations.
size_t BLI_file_size(const char *path) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
int BLI_open(const char *filepath, int oflag, int pmode) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void * BLI_mmap_get_pointer(BLI_mmap_file *file) ATTR_WARN_UNUSED_RESULT
void BLI_mmap_free(BLI_mmap_file *file) ATTR_NONNULL(1)
bool BLI_mmap_any_io_error(const BLI_mmap_file *file) ATTR_WARN_UNUSED_RESULT
BLI_mmap_file * BLI_mmap_open(int fd) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
size_t BLI_mmap_get_length(const BLI_mmap_file *file) ATTR_WARN_UNUSED_RESULT
bool BLI_path_is_rel(const char *path) ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT
char * STRNCPY(char(&dst)[N], const char *src)
#define SNPRINTF_UTF8(dst, format,...)
char * BLI_strncpy_utf8(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
#define STRNCPY_UTF8(dst, src)
#define CLOG_ERROR(clg_ref,...)
@ COLOR_ROLE_DEFAULT_FLOAT
@ COLOR_ROLE_DEFAULT_BYTE
bool IMB_colormanagement_space_name_is_data(const char *name)
const char * IMB_colormanagement_space_from_filepath_rules(const char *filepath)
const char * IMB_colormanagement_role_colorspace_name_get(int role)
void IMB_premultiply_alpha(ImBuf *ibuf)
void IMB_rectfill_alpha(ImBuf *ibuf, float value)
int IMB_test_image_type(const char *filepath)
void IMB_unpremultiply_alpha(ImBuf *ibuf)
void IMB_freeImBuf(ImBuf *ibuf)
@ IB_alphamode_channel_packed
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
const ColorSpace * colormanage_colorspace_get_named(const char *name)
void colormanage_imbuf_make_linear(ImBuf *ibuf, const char *from_colorspace, const ColorManagedFileOutput output)
const ImFileType * IMB_file_type_from_ftype(int ftype)
const ImFileType IMB_FILE_TYPES[]
const ImFileType * IMB_FILE_TYPES_LAST
static void imb_handle_colorspace_and_alpha(ImBuf *ibuf, const int flags, const char *filepath, const ImFileColorSpace &file_colorspace, char r_colorspace[IM_MAX_SPACE])
ImBuf * IMB_load_image_from_file_descriptor(const int file, const int flags, const char *filepath, char r_colorspace[IM_MAX_SPACE])
ImBuf * IMB_load_image_from_memory(const uchar *mem, const size_t size, const int flags, const char *descr, const char *filepath, char r_colorspace[IM_MAX_SPACE])
ImBuf * IMB_thumb_load_image(const char *filepath, const size_t max_thumb_size, char r_colorspace[IM_MAX_SPACE], const IMBThumbLoadFlags load_flags)
ImBuf * IMB_load_image_from_filepath(const char *filepath, const int flags, char r_colorspace[IM_MAX_SPACE])
const ColorSpace * colorspace
char filepath[IMB_FILEPATH_SIZE]
ImBufFloatBuffer float_buffer
ImBufByteBuffer byte_buffer
char metadata_colorspace[IM_MAX_SPACE]
ImBuf *(* load)(const unsigned char *mem, size_t size, int flags, ImFileColorSpace &r_colorspace)
ImBuf *(* load_filepath_thumbnail)(const char *filepath, int flags, size_t max_thumb_size, ImFileColorSpace &r_colorspace, size_t *r_width, size_t *r_height)