image: Introduce __imlib_LoadEmbeddedMem()

This commit is contained in:
Kim Woelders 2022-12-05 17:11:14 +01:00
parent b7d4cab412
commit 108af6d186
3 changed files with 28 additions and 0 deletions

View File

@ -164,6 +164,9 @@ ImlibLoader *__imlib_FindBestLoader(const char *file, const char *format,
int for_save);
int __imlib_LoadEmbedded(ImlibLoader * l, ImlibImage * im,
int load_data, const char *file);
int __imlib_LoadEmbeddedMem(ImlibLoader * l, ImlibImage * im,
int load_data, const void *fdata,
unsigned int fsize);
uint32_t *__imlib_AllocateData(ImlibImage * im);
void __imlib_FreeData(ImlibImage * im);

View File

@ -713,6 +713,28 @@ __imlib_LoadEmbedded(ImlibLoader * l, ImlibImage * im, int load_data,
return rc;
}
__EXPORT__ int
__imlib_LoadEmbeddedMem(ImlibLoader * l, ImlibImage * im, int load_data,
const void *fdata, unsigned int fsize)
{
int rc;
if (!l || !im)
return LOAD_FAIL;
__imlib_ImageFileContextPush(im, NULL);
rc = __imlib_FileContextOpen(im->fi, NULL, fdata, fsize);
if (rc)
return LOAD_FAIL;
rc = __imlib_LoadImageWrapper(l, im, load_data);
__imlib_FileContextClose(im->fi);
__imlib_ImageFileContextPop(im);
return rc;
}
__EXPORT__ void
__imlib_LoadProgressSetPass(ImlibImage * im, int pass, int n_pass)
{

View File

@ -102,6 +102,9 @@ ImlibImage *__imlib_CreateImage(int w, int h, uint32_t * data);
ImlibImage *__imlib_LoadImage(const char *file, ImlibLoadArgs * ila);
int __imlib_LoadEmbedded(ImlibLoader * l, ImlibImage * im,
int load_data, const char *file);
int __imlib_LoadEmbeddedMem(ImlibLoader * l, ImlibImage * im,
int load_data, const void *fdata,
unsigned int fsize);
int __imlib_LoadImageData(ImlibImage * im);
void __imlib_DirtyImage(ImlibImage * im);
void __imlib_FreeImage(ImlibImage * im);