11 # include <sys/types.h>
95 fprintf(stderr,
"%s: NULL pointer\n", __func__);
100 BLI_strncpy(effective_colorspace, colorspace,
sizeof(effective_colorspace));
105 ibuf =
type->load(mem,
size, flags, effective_colorspace);
114 fprintf(stderr,
"%s: unknown file-format (%s)\n", __func__, descr);
130 BLI_strncpy(effective_colorspace, colorspace,
sizeof(effective_colorspace));
134 if (
type->load_filepath) {
135 ibuf =
type->load_filepath(filepath, flags, effective_colorspace);
144 fprintf(stderr,
"%s: unknown fileformat (%s)\n", __func__, descr);
157 int file,
const char *filepath,
int flags,
char colorspace[
IM_MAX_SPACE],
const char *descr)
176 if (mmap_file ==
NULL) {
177 fprintf(stderr,
"%s: couldn't get mapping %s\n", __func__, descr);
240 size_t max_thumb_size,
256 BLI_strncpy(effective_colorspace, colorspace,
sizeof(effective_colorspace));
259 if (
type->load_filepath_thumbnail) {
260 ibuf =
type->load_filepath_thumbnail(
336 if (mmap_file ==
NULL) {
337 fprintf(stderr,
"Couldn't get memory mapping for %s\n", ibuf->
cachename);
File and directory operations.
bool BLI_file_older(const char *file1, const char *file2) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
size_t BLI_file_descriptor_size(int file) ATTR_WARN_UNUSED_RESULT
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()
BLI_mmap_file * BLI_mmap_open(int fd) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
void BLI_mmap_free(BLI_mmap_file *file) ATTR_NONNULL(1)
void * BLI_mmap_get_pointer(BLI_mmap_file *file) ATTR_WARN_UNUSED_RESULT
bool BLI_path_extension_check_array(const char *str, const char **ext_array) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
bool BLI_path_is_rel(const char *path) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
bool BLI_path_extension_replace(char *path, size_t maxlen, const char *ext) ATTR_NONNULL()
#define SNPRINTF(dst, format,...)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
Header file for allocimbuf.c.
bool IMB_colormanagement_space_name_is_data(const char *name)
void IMB_rectfill_alpha(struct ImBuf *ibuf, float value)
int IMB_ispic_type(const char *filepath)
void IMB_premultiply_alpha(struct ImBuf *ibuf)
void IMB_unpremultiply_alpha(struct ImBuf *ibuf)
Contains defines and structs used throughout the imbuf module.
const char * imb_ext_image_filepath_only[]
#define IMB_FILENAME_SIZE
@ IB_alphamode_channel_packed
void imb_mmap_unlock(void)
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
ColorSpace * colormanage_colorspace_get_named(const char *name)
void colormanage_imbuf_make_linear(ImBuf *ibuf, const char *from_colorspace)
const ImFileType * IMB_file_type_from_ftype(int ftype)
const ImFileType IMB_FILE_TYPES[]
const ImFileType * IMB_file_type_from_ibuf(const ImBuf *ibuf)
const ImFileType * IMB_FILE_TYPES_LAST
static ImBuf * IMB_ibImageFromFile(const char *filepath, int flags, char colorspace[IM_MAX_SPACE], const char *descr)
ImBuf * IMB_testiffname(const char *filepath, int flags)
static void imb_cache_filename(char *filepath, const char *name, int flags)
ImBuf * IMB_loadiffname(const char *filepath, int flags, char colorspace[IM_MAX_SPACE])
ImBuf * IMB_ibImageFromMemory(const unsigned char *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE], const char *descr)
static bool imb_is_filepath_format(const char *filepath)
void imb_loadtile(ImBuf *ibuf, int tx, int ty, unsigned int *rect)
static void imb_handle_alpha(ImBuf *ibuf, int flags, char colorspace[IM_MAX_SPACE], char effective_colorspace[IM_MAX_SPACE])
struct ImBuf * IMB_thumb_load_image(const char *filepath, size_t max_thumb_size, char colorspace[IM_MAX_SPACE])
static void imb_loadtilefile(ImBuf *ibuf, int file, int tx, int ty, unsigned int *rect)
ImBuf * IMB_loadifffile(int file, const char *filepath, int flags, char colorspace[IM_MAX_SPACE], const char *descr)
struct IDProperty * metadata
struct ImBuf * mipmap[IMB_MIPMAP_LEVELS]
struct ColorSpace * rect_colorspace
char name[IMB_FILENAME_SIZE]
char cachename[IMB_FILENAME_SIZE]